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.

[参考译文] TMS320F2800157:F280015x MCAN 示例-中断问题

Guru**** 2526870 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1270472/tms320f2800157-f280015x-mcan-examples---interrupt-problem

器件型号:TMS320F2800157

您好!

我曾尝试在 F280015x 系列 LaunchPad 开发套件中使用以下示例:

  • mcan_ex4_接收
  • mcan_EX10_receive_multiple_buffers

问题在于 ISR MCANIntr1ISR()在启动后只能被命中一次 (在缓冲区中正确接收消息)。

为了能够接收另一条 CAN 消息、我需要重新启动调试会话。

在 SW 中、我仅将 GPIO 端口更改为 GPIO_5/GPIO_4、以便它可以正常工作。

原因是什么?

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

    您好、Mikooom、

    感谢您的提问。

    您能否验证未正常工作的引脚是否连接了收发器? 只有一些引脚具有收发器。

    此致、

    文斯

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

    您好、Vince。

    是的、我连接到 CAN 收发器 引脚 (CAN_H、CAN_L)。

    我尝试了"mcan_EX7_classic_transmit"、我看到消息始终从 MCU 传递到总线(通过收发器)。

    但问题在于接收多个消息、正如我所说的。

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

    您好,Mikoom,

    您能否提供错误和状态寄存器? 我想知道第一条消息是否有错误、是否阻止接收更多消息

    此致、

    文斯

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

    您好!

    好的、我发现只要 在 CAN ISR 内部没有设置断点、就可以一直正确接收 CAN 消息(我使用 RAM 调试模式)。