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.

[参考译文] RM44L920:DCAN 接收中断未进入 ISR

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1232243/rm44l920-dcan-recieve-interrupt-not-entering-isr

器件型号:RM44L920

我使用 DCAN1发送,使用 DCAN2接收, 我通过逻辑分析器检查了是否已发送和接收两个信号、但当数据传入引脚时、CAN 接收无法进入 ISR。有人能解释一下 canMessageNotification 不起作用。我还启用了全局中断以及 CAN1和 CAN2高电平中断。

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

    在一个中断请求到达 CPU 前、有三个"栅极":

    • 产生中断请求的模块有一个寄存器来启用它可以生成的每个中断。   

            

             和

                

    • 向量中断管理器(VIM)具有寄存器、以便允许根据优先级方案(较低通道编号在前)将来自模块的中断请求转发给 CPU。

          

    • 最后、CPU 本身必须被配置为响应 VIM (IRQ 或 FIQ)发送的中断请求。

          _enable_IRQ ()

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

    您好、Wang、

    我启用了上述所有配置,但仍然 CAN 中断未被触发,我收到错误通知,如"canLEVEL_warning"和"canLEVEL_BUS_OFF "。即使示例程序也不能正常工作。

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

    这意味着不能正确发送和接收消息。

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

     当发送错误计数高于255时、会发生 BUSOFF。 此错误可能是 CRC 错误、ACK 错误、填充错误、位错误等。