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.

[参考译文] CCS/TMS570LC4357-EP:中断处理程序

Guru**** 2481465 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/967884/ccs-tms570lc4357-ep-interrupt-handler

器件型号:TMS570LC4357-EP

工具/软件:Code Composer Studio

您好!

我正在切换 GIO 引脚、并在上升沿生成中断。 我能够看到中断标志正在被置位、但是 ISR 没有被处理。 我无法解决为何 ISR (在本例中为&gioHighLevelInterrupt)不被服务的问题。

请帮助我解决此问题。

我是否必须配置内核寄存器中的任何设置? 如果是、如何操作?

以下是 main 函数的代码片段:

int main (空)

/*用户代码开始(3)*/
/*用户代码结束*/
   _enable_interrupt_();

      gioInit(); //gio 初始化

      gioEnableNotification (gioPORTA、4); //为 GIOA 4启用中断

      vimEnableInterrupt (9、0); //启用所选通道的中断

      vimChannelMap (2、9、&gioHighLevelInterrupt);//将请求映射到相应的通道

      gioToggleBit (gioPORTA、6);//切换 GIOA 6.

      while (1)
      {
          ;
      }

   返回0;


如果我错过了任何内容、请告诉我。

此致

Sanjana V

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

    Sanjana、

    一个明显的问题是您在 A4而不是 A6上启用了中断。


    gioEnableNotification (gioPORTA、4);//为 GIOA 4启用中断

    gioToggleBit (gioPORTA、6);//切换 GIOA 6.


    您还可以对来自 GIO 模块的中断请求编号进行加倍检查。 我觉得请求应该是9、通道可以是2-95、所以可以交换参数。
    vimChannelMap (2、9、&gioHighLevelInterrupt);//将请求映射到相应的通道

    此外、最好在启用中断之前先安装 ISR。

    Joe

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

    您好 Sanjana、

    1.要在 GIOA[4]上生成中断、需要向 GIOA[4]馈送输入。 您可以根据您的配置将 GIOA[6]连接到 GIOA[4](切换 GIOA[6])

    2.将 GIOA[4]中断配置为使用高电平。 默认为低电平。

       gioREG->LVLSET = (uint32)((uint32) 1U <<4U)  //位4 */

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

    Joe、您好!

    感谢您的回复

    我交换了 VIM 参数并且它起作用。

    再次感谢你们:)

    此致

    Sanjana V

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

    您好、Wang、

    感谢你的答复

    输入从 GIOA[6]馈送到 GIOA[4],其中两个引脚都是接线的。

    在 GIOA[4]上配置了高级中断。

    我在传递给 VimMap 函数的参数中出错了,现在问题得到了解决:)

    此致

    Sanjana V