主题中讨论的其他器件:SysConfig
工具与软件:
您好、TI 专家!
在相关的问题线程中、我遇到的问题是我的 CAN-ID-Filtering 不起作用。 我现在发现了原因:
第一步:我在执行 DL_MCAN_addStdMsgIDFilter()后初始化过滤器 ID、其中配置了过滤器。 因此、我使用未初始化的滤波器 ID 配置了滤波。
第二步:我没有在 SysConfig 中使用"高级配置"、因此我没有设置.filterConfig.anfe = 2和.filterConfig.anfs = 2。 因此、即使在我设法正确设置滤波后、也会接受不匹配帧。
因此、我现在设法使我的滤波工作。
但其他问题仍未解决:
CAN 消息的接收无法可靠地工作。 有时第一条 CAN 消息被正确接收、有时第一条 CAN 消息不会触发 CAN Rx 中断、因此无法接收。
这种不可靠的接收会随着要接收到的每一条消息的继续而继续。 有时它工作,有时不工作。
当未接收到一条消息然后正确接收到下一条消息时、将触发 CAN RX 中断、并设置"新消息位"(MCAN_IR_RF0N_MASK)和"消息 RAM 访问失败位"(MCAN_IR_MRAF_MASK)。
但只有触发 CAN RX 中断的消息才会被接收。 另一条消息不会出现在 Rx 消息结构中。
是否有可能查看 CAN RX FIFO 以了解这些消息是否在 FIFO 中但并未触发中断?
RX MSG RAM 配置正确、FIFO0、FIFO1和缓冲区之间没有重叠。 我不使用 CAN TX、因此不应存在 TX MSG RAM 的重叠和影响。
不触发中断的原因可能是什么、或者更准确地说、是什么原因导致在正确接收到欧姆代码时未收到某些消息?
提前感谢!
Matze



