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.

[参考译文] TMDXRM46HDK:接收到用于连接 ISR 的 CAN 消息

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1068567/tmdxrm46hdk-connecting-isr-for-can-message-received

部件号:TMDXRM46HDK
“线程”中讨论的其它部件:HALCOGENRM46L852

我为 RM46L852创建了一个空项目,并将 HalCoGen 指向项目目录。

使用 HalCoGen,我选择了 CAN 总线示例代码,用于中断驱动检测接收到的消息。

源文件名为 example_canIntCommunication.c

我使用 HalCoGen 设置消息,以便 CAN1发送消息,CAN2接收消息 ID 1。

我已经亲自证明,非中断示例是有效的,中断示例是无效的。

我没有看到任何用于将中断函数与中断事件连接的代码。

如果有任何提示,我们将不胜感激。

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

    斯科特:您好,

    1. CAN1和 CAN2需要通过 CAN 收发器连接到 CAN 网络总线。

    2.应启用中断:

    中断请求到达 CPU 之前有三个“门”:

    • 生成中断请求的 CAN 模块有一个寄存器,用于启用它可以生成的每个中断。
    • 矢量中断管理器(VIM)具有寄存器,可根据优先级方案(先是较低的通道编号)将来自模块的中断请求转发到 CPU。

          

    • 最后,必须将 CPU 本身配置为响应由 VIM (IRQ 或 FIQ)转发的中断请求。

          可以通过调用_enable_irq()来启用 IRQ;