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.

dsp28335默认的中断优先级是在中断同时出现的时候才有效吗?如何使高优先级的中断能打断执行的低级中断?

    我使用DSP28335时觉得默认的中断优先级可以实现高级打断低级中断,所以没有管中断优先级的问题,也就没有调用DSP283xx_SWPrioritizedIsrLevels.h和 DSP283xx_SWPrioritizedDefaultIsr.c 两个文件,使用时发现EPWM中断(INT3)并没能打断SCIB中断(INT9)的中断程序,从而导致丢失了部分EPWM中断。
    不知道这个问题该如何解决,还请高手不吝赐教,谢谢!

  • Hi, zhang shuoting,

          我们通常讲的PIE中断优先级讲的是当几个中断同时发出请求时,CPU先响应高优先级别的中断,处理完中断服务函数之后,再响应低优先级的中断。当然,如果在这个期间,等待的中断如有新的中断事件出现的时候,就会丢失。按正常的程序设置来讲,进入中断服务函数之后,CPU会关掉全局中断使能,所以高优先级的中断打断不了低优先级别的中断。

          但是C2000也是支持中断嵌套的,也就是你所需要的高优先级别的中断能够打断低优先级别的中断。当CPU在执行SCIB的中断服务函数时,可以被EPWM中断来打断,实现中断嵌套。具体的设置方法不复杂,你可以参照下面的网址:http://processors.wiki.ti.com/index.php/Interrupt_Nesting_on_C28x

    Eric