This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS570LC4357:DCAN 消息框 ID 和掩码

Guru**** 2399305 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1303180/tms570lc4357-dcan-message-box-id-and-mask

器件型号:TMS570LC4357

我使 DCAN 模块正常工作...

我可以设置消息框 ID、例如0x400、掩码为0x7FF 、并且我接收的所有消息都是 ID 为0x400...的消息(注意、所有消息都来自 SmartMicro 雷达、其发送"目标 ID 从0x400到0x4FF (255个潜在目标)。)

如果我将 ID 框设置为0x401、屏蔽0x7FF、我看到的只是 ID 为0x401的消息。

现在...

如果我将 MASK 设置为0x700...消息框 ID = 0x400...我会在同一消息/邮件框中看到 ID 为0x400至0x4FF...的所有消息...  

问:

如何确定 ID 与收到的消息相关联?

(我所做的示例测试)。

我将一个 kvaser 连接到总线上(无雷达)...运行我的代码...(例如、消息框 ID = 0x400、掩码= 0x700)...我通过该 kvaser 发送1条消息、ID = 0x400 ...我显示数据(我可以在 DCAN 寄存器中看到它)。

我在使用 kvaser 发送的消息上将消息 ID 更改为0x4AB (我还修改数据以将我发送的内容与 DCAN 看到的内容相关联)... 我看到数据位于寄存器中。

那么...我如何用接收到的数据去除实际接收到的消息 ID?

一如既往的感谢