当前位置: 代码迷 >> 驱动开发 >> 中断程序中关闭中断有没有有关问题
  详细解决方案

中断程序中关闭中断有没有有关问题

热度:64   发布时间:2016-04-28 11:06:37.0
中断程序中关闭中断有没有问题
中断程序中关闭中断有没有问题
看到别人的代码,想不出来有什么问题!

------解决方案--------------------
代码在那里?开关中断指令比较必要,但一般情况下,省掉也可以。
------解决方案--------------------
关中段需要相对比较长的时间
所以如果需要在中断服务程序里面关中段的话,最好用互斥
------解决方案--------------------
“关中断需要较长时间”?不知道是不是对于硬件来说。不过一般嵌入式设备中,发布CLI指令往往也就一两个时钟周期吧?而在Blackfin53x中,进入中断服务例程后,IPEND4自动置位,即屏蔽了所有可屏蔽中断,除非发布指令“[--sp] = reti;”,将中断例程返回寄存器压栈(保护),可使IPEND4清0,允许比它更高优先级的中断进行打断,否则仍然将外部可屏蔽中断信号锁存起来。

不过一般来讲,为了程序健壮性考虑仍然在操作系统中使用同步原语,在中断例程中进行开关中断。由于中断是异步的,期间会有较多可能性。
------解决方案--------------------
中断中关中断不会有什么问题,
倒是要看你的系统要求,是否允许中断嵌套。
  相关解决方案