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.

[参考译文] TMS570LC4357:嵌套中断-接收 CAN 输入时串行数据损坏

Guru**** 2468610 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1066292/tms570lc4357-nested-interrupts---serial-data-gets-corrupted-while-receiving-can-input

部件号:TMS570LC4357

TI 专家您好,

问候!

我们正在使用 TMS570Lc43微控制器(FreeRTOS 作为 RTOS) -两个 CAN 通道作为输入。

当我们 接收到两个通道(单独的 CAN 总线)上的数据时,我们发现串行数据已损坏。

需要进行哪些修改 ,以便两个具有串行功能的信道可以同时工作。

我认为这是一个中断堆叠的问题。 如何解决问题。

请提前感谢。

阿尼尔  

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

    大家好,我们的专家已经不在办公室了。 请期待收到延迟的回复。

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

    您好,

    强烈建议不要将中断嵌套用于安全应用。

    ISR 通常必须非常快速,因此应该尽可能少使用代码。  CPU 在进入 IRQ 模式时将自动禁用 IRQ,以避免嵌套 IRQ。

    要接收 DCAN 数据,请使用 IF3x + DMA 读取收到的 CAN 消息。  IF3可以配置为在 接收 CAN 消息后更新消息对象时自动接收来自消息 RAM 的控制和用户数据。 CPU 不需要启动从消息 RAM 到 IF3寄存器集的传输。

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

    感谢你的回复。 我能够找到并解决问题。 问题出在内存覆盖。

    银行