为保证时序不被打断,我需要关中断,操作完成后,再开中断
TMS320F28335 在中断初始化完成以后,如何关中断,然后再开中断
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.
为保证时序不被打断,我需要关中断,操作完成后,再开中断
TMS320F28335 在中断初始化完成以后,如何关中断,然后再开中断
xiaoliang,
我认为DINT和EINT并不会清除PIE或外设中断的相关标志位,但是会阻断它们把中断传给CPU。我们来举一个例子
如果是使用DINT关断CPU中断,这是PWM1中断产生了,相应的PIE级别PieCtrlRegs.PIEIFR3.bit.INTx1 =1,即PIE级别标志位置1,但是由于没能进入中断服务函数,所以PWM1中断标志位不能清零,PIE 第3组不能用PIEACK清除标志位。
所以PWM1的标志位会一直为1,知道CPU去清除,当然,清除之前后续的PWM中断则不能产生了。同理,PIE 第3组则会被PWM1的中断一直占用,不能被同组的其他中断所用。
直到开全局中断EINT,这些中断马上进行处理,然后后续中断也会正常工作。
但是我认为这不会对应用有什么影响,你本来就是要关掉中断。
Eric