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.

[参考译文] TMS320F280025C:DCAN 仅接收与邮箱 ID 相同的数据帧、无法接收具有不同 ID 的帧

Guru**** 2455560 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1294275/tms320f280025c-the-dcan-receives-only-the-same-data-frame-as-the-mailbox-id-and-frames-with-different-ids-cannot-be-received

器件型号:TMS320F280025C
主题中讨论的其他器件:SysConfig

大家好、

在客户的项目中、CAN 初始化通过 SysConfig 配置、从而启用2个邮箱:MB1用于发送、MB2用于接收。 中断参考 CAN 示例。

答:发送没有问题、CAN 分析器可以检测到 F280025发送的帧、并且中断 正常工作。

b.对于接收、为 MB2设置 Id=0x0020、SYSCFG 配置不使用接收滤波。 当该消息实际上是通过 CAN 分析仪接口发送的时、可以接收到 ID = 0x0020并生成中断、并且在中断中读取的 ID 和数据是正确的。 但如果 ID 为其他值、例如0x0021、则无法进入中断。

通过检查 CAN 寄存器、可以发现 NewDat 没有被设置、umask=0并且 IFxMask 寄存器都为0、也就是说、只要总线发送的消息 ID 不是已编程的邮箱 ID、就不能接收数据。

您能帮助检查这个问题吗? 谢谢。

此致、

切里

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

    您好、Cherry:

    如果客户需要接收邮箱2的所有消息 ID、UMASK 必须设置为1以允许消息过滤、然后将 CAN_IF1MSK 寄存器中的所有屏蔽位位置设置为0。  这将允许邮箱接收所有的消息 ID。

    此致、

    约瑟夫

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

    樱桃、

               www.ti.com/lit/SPRACE5 用一个示例说明了接受屏蔽过滤的工作方式。