2016-11-18 2 views
0

Я не понимаю, почему этот примерный код из библиотеки mcp_can & & получил полученный идентификатор Id с 0x1FFFFFFF. Какие биты могут быть потеряны? потому что три бит MSB могут быть потеряны с помощью этой команды.Идентификатор Canbus 2.0b

if((rxId & 0x80000000) == 0x80000000)  // Determine if ID is standard (11 bits) or extended (29 bits) 
    sprintf(msgString, "Extended ID: 0x%.8lX DLC: %1d Data:", (rxId & 0x1FFFFFFF), len); 
else 
sprintf(msgString, "Standard ID: 0x%.3lX  DLC: %1d Data:", rxId, len); 
+0

Согласно комментарии и условия, по крайней мере, немного '32', кажется, содержит какую-то информацию заголовка. Однако '0x1FFFFFFF' дает вам 29 бит, упомянутых в комментарии. –

ответ

0

Это просто потому, что 2.0b составляет 29 бит, поэтому ничего не должно быть потеряно

 Смежные вопросы

  • Нет связанных вопросов^_^