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/TMS320C5517:C5517嵌套中断

Guru**** 2589245 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/635008/ccs-tms320c5517-c5517-nested-interrupt

器件型号:TMS320C5517

工具/软件:Code Composer Studio

我有疑问:

使用两个中断进行编程:(1)定时器中断(2) UART 串行端口中断

在处理 UART 串行中断时、当计时器响应中断时、可以中断 UART 串行端口中断来处理计时器中断。
如何实现?

中断空 UART_INTRIDCH (空)

   uint8温度;
   uint8 i;

   CSL_CPU_regs->IER0 = CSL_CPU_regs->IER0 | 0x0010;  
   asm (" NOP");//等待一个周期
  asm (" BCLR INTM");  

   IRQ_DISABLE (UART_EVENT);  

  … 串行处理程序
   IRQ_ENABLE (UART_EVENT);  

我在串行中断中添加了粗体语句、测试发现了一个问题。
如何在串行中断中正确嵌套中断?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已将您的疑问转发给 C55x 软件专家。 他们的反馈应发布在此处。

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

    C55x 允许嵌套中断。 在这种情况下、定时器中断的优先级高于 UART、因此定时器中断可以中断 UART ISR。 无需以下代码段:

    CSL_CPU_regs->IER0 = CSL_CPU_regs->IER0 | 0x0010;
    asm (" NOP");//等待一个周期
    asm (" BCLR INTM");

    最好让 DSP/BIOS 来处理中断。 您可以在 DSP/BIOS 中断设置中选择嵌套中断的工作方式。
    希望这对您有所帮助。

    Lali