Тема: CITROEN-ARDUINO
Показать сообщение отдельно
Старый 28.10.2015, 15:05   #98
xmetal
Пользователь
 
Регистрация: 29.07.2015
Регион: 64
Машина: VW Tiguan
Сообщений: 89
xmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant futurexmetal has a brilliant future
По умолчанию

! - логический оператор. Пример !1=0 (false), !0=1 (true). Если на ножке 0 то условие выполняется

Можно немного ускорить работу, чтобы было поменьше лишних проверок:
Код:
if(!digitalRead(2)) // check if data coming
{
CAN.readMsgBuf(&len, buf);
canId = CAN.getCanId();

if(canId == 246) //0F6
{
...
goto output; // пропускаем остальные ID
}

if(canId == 182) //0B6
{
...
goto output; // пропускаем остальные ID
}

if(canId == 545) //221
{
...
goto output; // пропускаем остальные ID
}

if(canId == 543) //21F
{
...
goto output; // пропускаем остальные ID
}

if(canId == 997) //3E5
{
...
goto output; // пропускаем остальные ID
}

if(canId == 357) //165
{
...
goto output; // пропускаем остальные ID
}

if(canId == 549) //225
{
...
goto output; // пропускаем остальные ID
}

if(canId == 421) //1A5
{
VOL = buf[0];
}

output: //прыгаем сразу сюда
//Выводим данные.
if (incomingByte == 98){;Serial.print("Speed: "); Serial.println(Speed);}
if (incomingByte == 99){Serial.print("RPM: "); Serial.println(RPM);}
if (incomingByte == 100){Serial.print("Instant fuel consumption /100Km: "); Serial.println(ILPK);}
if (incomingByte == 101){Serial.print("Run on current fuel level: "); Serial.println(ARCFL);}
if (incomingByte == 102){Serial.print("Themperature: "); Serial.println(Themperature);}
...
}

Последний раз редактировалось xmetal; 28.10.2015 в 16:11.
xmetal вне форума   Ответить с цитированием