Тема: CITROEN-ARDUINO
Показать сообщение отдельно
Старый 04.02.2016, 15:00   #161
T_r_D
Старший Пользователь
 
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
T_r_D is a jewel in the roughT_r_D is a jewel in the roughT_r_D is a jewel in the rough
По умолчанию

Цитата:
Сообщение от autowp Посмотреть сообщение
Чтобы не писать "if(canId == 293) // 125HEX" и не забивать себе голову никому не нужными DEC'ами, рекомендую "if(canId == 0x125)"

(buf[0] >> 4) == 16

Это всегда false, не может быть равен 16 байт, 4 раза поделенный на 2

- (len - 2)

Вот это не понятно. Length - это что? (понятно, что длина, но длина чего?)
Это я хочу туда запихать длину пакета. А это - (len - 2) вычитание длины первого пакета и двух первых байт. В первом же пакете оставшиеся байты кроме первых двух входят в общею длину.

А если не смещать на 4, то нужно битовую маску?
buf[0] & 0xF0 ?
T_r_D вне форума   Ответить с цитированием