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.

[参考译文] TMDSCNCD2800157:MCAN Rx 缓冲区配置的范围滤波器不工作

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1248832/tmdscncd2800157-range-filter-for-mcan-rx-buffer-configuration-not-working

器件型号:TMDSCNCD2800157

团队、您好!

IAM 正在尝试为 MCAN Rx 缓冲区配置实现范围滤波器(扩展 ID)、下面是我的配置: 但它似乎不起作用、为范围滤波器提供的示例基于 FIFO、对我帮助不大。您能告诉我是否错过了任何配置以便它正常工作吗?

extFiltelem.efid2 = 0x00001408;//扩展 ID2
extFiltelem.efid1 = 0x00001400;//扩展 ID1
extFiltelem.EFEC = 0x7U;//存储到 Rx 缓冲区
extFiltelem.eft = 0x3U;//将滤波器范围从 EFID1改为 EFID2//(EFID2 >= EFID1)

MCAN_addExtMsgIDFilter (MCANA_DRIVER_BASE、0、&extFiltelem);

 MCAN_getIntrStatus 的中断寄存器状态为0x00000008、而不是0x00080000 (主要检查 MCAN_IR_DRX_MASK)

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

    Shubha,  

    当存储在 Rx 缓冲区中(EFEC = 0x7)时、滤波器类型字段是不相关的。 这是因为、EFID2对应于要存储匹配帧的 Rx 缓冲区元素。 因此、无法实现从 EFID1到 EFID2的范围滤波器。  

    重申一下、 在 Rx 缓冲区中接收时、 只有完全匹配的 ID 帧(等于 EFID1)才能存储、并且其他滤波选项不可用。  

    在 Rx FIFO 中进行接收时、所有滤波选项都可用。  

    谢谢。