Добрый день! Разбираюсь с «J1939 C Library for PIC16 Microcontrollers and MCP2515», переделываю под AVR. Неплохая библиотека для работы с MCP2515 (хотя с железом еще не побывал – не пришли MCP2515), реализованы простые функции J1939, однако возник (пока один) вопрос - по реализации функции J1939_AddressClaimHandling:
OneMessage.Msg.Priority = J1939_CONTROL_PRIORITY; // #define J1939_CONTROL_PRIORITY 0x03 …… OneMessage.Msg.SourceAddress = J1939_NULL_ADDRESS
а в SAE J1939-81 написано, что приоритет должен быть равен 6, а адрес задан глобальный:
4.2.2.1 Address Claimed Message Transmission Repetition Rate: As required Data Length: 8 bytes Data Page: 0 PDU Format: 238 PDU Specific: 255 (global address) Default Priority: 6
и еще:
«The Address Claimed message should always be sent to the global address (255) to provide all ECUs on the network the information to maintain a current address to NAME correspondence.»
Ошибка Microchip, или я что-то не понимаю? Предлагаю в этой теме обсудить и другие вопросы по J1939
С адресом разобрался - это было из куска кода, где формируется сообщение Cannot Claim Address.
|