最近总是被中断是否被打断的问题困扰!还请高手们指点!
我的问题是一旦程序先跳入了中断子程序中,是不是其他中断就不能再打断我的中断子程序了?即使其他中断的优先级更高,也只能等待直到我的这个子程序完成并跳出后才能被响应。
是不是在中断子程序的任何位置清除我的中断标志位都可以?因为一旦进入中断子程序了就不会被打断了?必须执行完跳出后才能执行其他中断?就像我上面写的。
我现在面临的棘手问题是,在中断子程序开始处清除中断标志位,中断程序运行不正常,在中断子程序结尾清除标志位中断就正常了,不知什么原因,很苦恼,因为中断子程序中没有任何其他中断的操作,只有对自己中断的一些操作。
我用的是DSP28335的EPWM计时器周期中断,中断子程序中将自己的计数器清零了,还重新对自己的周期寄存器进行了赋值,在开头还是结尾处清除自己的中断标志确实效果确实不同,因此我找不到头绪,怀疑是被其他中断打断了,但子程序还没完成呢?还请高手指点!不胜感激!我说的有些啰嗦请见谅!
Eric Ma:
进入中断后,芯片默认会关掉全局中断,这个时候芯片会执行完当前的中断服务函数后,退出来,然后再处理在等待的最高优先级的中断。
所以如果在中断里没有打开中断嵌套的相关设置,一般都不会被打断的。
ERIC
最近总是被中断是否被打断的问题困扰!还请高手们指点!
我的问题是一旦程序先跳入了中断子程序中,是不是其他中断就不能再打断我的中断子程序了?即使其他中断的优先级更高,也只能等待直到我的这个子程序完成并跳出后才能被响应。
是不是在中断子程序的任何位置清除我的中断标志位都可以?因为一旦进入中断子程序了就不会被打断了?必须执行完跳出后才能执行其他中断?就像我上面写的。
我现在面临的棘手问题是,在中断子程序开始处清除中断标志位,中断程序运行不正常,在中断子程序结尾清除标志位中断就正常了,不知什么原因,很苦恼,因为中断子程序中没有任何其他中断的操作,只有对自己中断的一些操作。
我用的是DSP28335的EPWM计时器周期中断,中断子程序中将自己的计数器清零了,还重新对自己的周期寄存器进行了赋值,在开头还是结尾处清除自己的中断标志确实效果确实不同,因此我找不到头绪,怀疑是被其他中断打断了,但子程序还没完成呢?还请高手指点!不胜感激!我说的有些啰嗦请见谅!
mangui zhang:
回复 Eric Ma:
你好 进入收为了不打扰 可以关掉全局中断
中断处理完成后 处理等待中断时会不会有些会丢掉