Цитата:
Сообщение от T_r_D
PS А что делает строчка?
INT32U canId = 0x000;
и отличается ли она от моей
unsigned char canId = CAN.getCanId();
|
Объявляет переменную canId, только в твоём случае она динамическая, так как создаётся внутри цикла.
Но самое главное у тебя здесь ошибка, так как идентификаторы могут быть 11-ти или 29-битные (в зависимости от системы адресации в конкретной can шине), а ты выделяешь под него один байт, то есть всего восемь бит.
Правильно должно быть так
unsigned long canId = CAN.getCanId();
или так
INT32U canId = CAN.getCanId();