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.

[参考译文] TMS320F28P650DK:TMS320F28P650DK9:MCAN 中断、IER 被禁用

Guru**** 2524550 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1296968/tms320f28p650dk-tms320f28p650dk9-mcan-interrupt-ier-gets-disabled

器件型号:TMS320F28P650DK
主题中讨论的其他器件:C2000WARE

您好!

我们之前 为 MCAN 尝试了 mcan_EX10_receive_multiple_buffers 示例项目、

在通过独木舟发送 CAN 消息时、 执行 MCANIntr1ISR、但 中断组9的 IER 位被禁用。

已尝试通过中断例程启用该位、IER 位变为高电平、但仍然无法获得任何进一步中断。

我们还 缺少什么? 还启用了组9的 PIE 中的位。

谢谢 你。

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

    作者:Vivek、

             C28x 器件的硬件中不支持中断嵌套。 请访问 https://software-dl.ti.com/C2000/docs/c28x_interrupt_faq/html/index.html

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

    尊敬的 Hareesh:

    退出 ISR 后也没有获得中断。

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

    您是指一般中断还是专门指 MCAN 中断? 您是否阅读了我向您指出的文章? 需要在外设级别和 CPU 级别配置/管理中断。 我还建议阅读 www.ti.com/lit/SPRUIZ1中的第3.4.3节和第3.4.4节。  

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

    尊敬的 Hareesh:

    很抱歉响应延迟。 我已经阅读过这些文章、MCAN 中断的中断组寄存器和 IER 寄存器已启用其相应的位、但在完成第一个 ISR 后没有获得任何中断(当我手动向控制器发送第二个 CAN 信号时)。   

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

    作者:Vivek、  

    您正在使用哪个版本的 C2000ware?

    ISR 中是否包含以下行?

    //
    // Clear the interrupt Status.
    //
    MCAN_clearIntrStatus(MCANA_DRIVER_BASE, intrStatus);

    谢谢。

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

    您好!

    使用 c2000ware 的版本5。

    是的、这些代码行包含在 ISR 中。

    谢谢你。

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

    作者:Vivek、  

    如果您使用的是开箱即用的示例、应该不会引起任何问题。 该示例已经过验证、我刚刚重新检查它、中断运行正常。  

    您是否对代码进行了任何更改?  

    Unknown 说:
    尝试从中断例程启用该位、IER 位变为高电平、但仍然无法获得任何进一步的中断。

    请显示您在此处添加的代码。  

    您还能介绍一下整个设置吗? 是否还有其他运行过程可能导致 IER 位被禁用?

    谢谢。