Other Parts Discussed in Thread:TMS320F280049
您好,我用的是TMS320F280049,想配置两个中断,一个是epwm1中断(100uS),另一个是timer0中断(1mS),想实现100uS中断可以打断1mS中断,而1mS中断不能打断100uS,需要设置些什么呢?比如以下中断函数是否有问题呢?感谢!
interrupt void epwm1_timer_isr(void) //100us
{
//执行应用层代码
EPWM_clearEventTriggerInterruptFlag(EPWM1_BASE);
Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP3);
}
interrupt void cpu_timer0_isr(void)
{
//执行应用层代码
Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP1);
}
Susan Yang:
请问您是否有设置中断优先级?需要注意仅当同时有多个中断挂起且允许中断时,中断优先级才起作用。
C28x中断的硬性规定是,如果有一个中断待处理(标志置位)并且允许该中断,则CPU将接收该中断。如果一个以上的中断待处理并被使能,CPU将采用优先级最高的挂起中断。 关于C2000中断,您可以先看一下 software-dl.ti.com/…/index.html
,
wang yong:
感谢您及时的回复!
我没有找到在哪里设置中断优先级,能讲解一下怎么设置中断优先级吗?
从您发的链接我得到的信息是:进入中断程序后,会自动将INTM置1从而不允许中断嵌套;但如果想要实现中断嵌套,可以通过进入中断程序后,手动的将INTM清0,从而运行新的中断,实现中断嵌套,对吗?
另外,如果想要实现中断嵌套,还需设置什么,您没有给出中断嵌套的链接。
,
Susan Yang:
关于中断嵌套和优先级,您可以参考下面的链接:
software-dl.ti.com/…/index.html
但是280049是暂时没有嵌套例程的
,
wang yong:
看了链接,基本明白了,谢谢啦
,
Susan Yang:
很高兴能帮到您!