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.

[参考译文] TM4C123GH6PZ:关于 CAN 中断

Guru**** 2531950 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/903182/tm4c123gh6pz-about-can-interrupt

器件型号:TM4C123GH6PZ

您好:

  关于 CAN 中断:

   CANIntEnable (CAN0_BASE、CAN_INT_MASTER | CAN_INT_ERROR | CAN_INT_STATUS);

  当 CAN_INT_STATUS 被启用时、当接收到一个数据包时、将会有两个中断、一个是 CAN_INT_INTID_STATUS 中断、当我检查此中断时、将显示 CAN_STATUS_RXOK; 另一个是 CANRXOBJECT 中断、这将触发接收过程;

  那么、我禁用 CAN_INT_STATUS、这是否会影响 CAN 接口正常工作?

  当我测试此配置时、CPU 有时会接收到一个 CANRXOBJECT 中断、并且接收到的 CAN 数据长度为0的数据包 、一个标志为0x10a、这是否是正常过程?

  当我断开 CAN_INT_STATUS 的连接时、我还禁用 了 LEC 中断、因此当 LEC 发生时、它将触发 一个接收中断?

  谢谢

Yaoaili

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

    [报价用户="Yao Aili"]所以我禁用 CAN_INT_STATUS,这是否会影响 CAN 接口正常工作?

    您只需使用 CAN_INT_MASTER 和 CAN_INT_ERROR 即可正常运行。

    [引用 USER="Yao AILI"] 当我测试此配置时,CPU 有时会接收到一个 CANRXOBJECT 中断,并且接收到的 CAN 数据包长度为0, 标志为0x10a,这是否是正常过程?

    长度为0的数据包有效。 如果是发送的内容、那么这就是您应该接收的内容。

    [引用 USER="Yao AILI"] 当我禁用 CAN_INT_STATUS 时,我还禁用 了 LEC 中断,因此当 LEC 发生时,它将触发 接收中断?[/QUERPLET]

    否、产生 LEC 代码的问题会导致 CAN 总线上的硬件重新发送产生错误的消息。 CPU 无需干预。