ATV 10 — Da UART para a rede CAN
Seções A mensagem de falha e o filtro
- 1A leitura por UART
- 2Do fio ao barramento CAN
- 3O quadro CAN
- 4A leitura do DHT11 dentro do quadro
- 5A mensagem de falha e o filtro
- 6Erros no barramento
A mensagem de falha e o filtro
Cada mensagem diferente ganha seu próprio identificador. Quando a leitura do DHT11 falha, o transmissor manda um quadro com o identificador ID_FALHA e nenhum byte de dados, DLC 0: o identificador sozinho já diz o que aconteceu.
Como o identificador é a prioridade, a escolha do número tem consequência. Se a falha e a leitura de outro nó disputarem o barramento no mesmo instante, passa primeiro a de menor identificador, e a outra espera e tenta de novo logo em seguida.
O controlador CAN do receptor pode ter um filtro de aceitação: ele compara o identificador de cada quadro com o filtro e descarta, no próprio hardware, o que não interessa, sem o programa ver. Com FILTRO_ID = 0, o receptor aceita tudo; com um identificador em FILTRO_ID, só aceita aquele.
- No
protocolo.h, dê um identificador à falha emID_FALHA, decidindo se ele fica maior ou menor que o da leitura. - Grave
transmissor-canereceptor-cane desconecte o fio de dados do DHT11. - Reconecte o DHT11. No
protocolo.h, façaFILTRO_ID = ID_LEITURAe grave só oreceptor-can. - Desconecte de novo o fio de dados do DHT11 e veja o que o receptor mostra.