Все похоже на рабочий экземпляр. Может при нажатии кнопки на руле генериться несколько сообщений с разными ID? Одно, которое ты поймал и еще одно - в котором от нажатия кнопки что-то меняется?
А по скетчу - с CAN удобнее работать в шестнадцатиричном или в двоичном виде. Мне кажется нагляднее... Но дело вкуса... мой вариант примерно такой:
unsigned char canId = 0;
if(CAN_MSGAVAIL == CAN.checkReceive())
{
canId = CAN.getCanId();
CAN.readMsgBuf(&len, rxBuf);
Serial.print(canId, HEX); Serial.print("#"); // CAN ID
for(int i = 0; i<len; i++)
{
if(rxBuf[i] < 0x10) // If data byte is less than 0x10, add a leading zero
{
Serial.print("0");
}
Serial.print(rxBuf[i], HEX);
Serial.print("#");
}
Serial.println();
}
|