2016-11-18 9 views
0

mcp_can 라이브러리 & &의이 예제 코드가 수신 된 ID가 0x1FFFFFFF 인 이유를 이해할 수 없습니다. 어떤 종류의 비트가 손실 될 수 있습니까? 이는 3 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' 헤더 어떤 종류의 정보를 포함 할 것 같습니다해야하므로 2.0B는 29 비트해서입니다. 그러나'0x1FFFFFFF'는 주석에 언급 된 29 비트를 제공합니다. –

답변

0

그것은 아무것도, 주석 및 조건에 따라