主题中讨论的其他器件:SysConfig
您好!
我正在通过 CAN FD 和 MCAN 开发 CANopen 模块。 此应用要求周期为1ms 的同步接收。 CAN 由两个中断来控制以确保周期性、一个中断用于 SYNC 和 NMT 对象、另一个中断用于 rpdos。 SYNC 和 NMT 的中断将消息发送到 Rx 缓冲区。
我们遇到了一个问题、即在发送 SYNC 时 MCAN 模块被阻止。 应用程序在第一次同步期间会工作、但在5或6条消息之后停止发送响应。 在这种阻止状态下调试时、我看到与 SYNC 对应的缓冲区新数据的标志处于活动状态;但来自 mCAN 模块和 PIE 的中断未被触发、因此我认为 MCAN 模块由于某种原因没有触发中断。 但我找不到问题来解决、是否可以 提供一些帮助来解决该问题?
请注意、该程序在较低的速率下运行良好。 例如、此应用以5ms 的周期运转良好。 此外、为了防止在某个时刻触发具有更高优先级的中断并阻止了 mCAN 模块、但应用接收速度不高、我尝试禁用所有具有更高优先级的中断(我有嵌套中断)。
不幸的是,我不知道我还能检查什么,所以帮助会很感激.
此致、
大卫
