项目中有多个中断源时可以根据发生中断的频率高低来设定中断源的优先级。中断频率越高,相应的中断处理函数执行时间就应该越短。而中断频率越低,相应的中断处理函数执行时间就能容忍的稍微越长一点。所以中断发生的频率较低且相应中断处理函数执行时间较长的中断优先级应该要更低,反之则更高以保证本就高频发生的中断(高优先级)执行能被及时的处理而不会被更加频繁的打断执行。
为了保证高频发生的中断(高优先级)处理函数的实现和低频发生的中断(低优先级)处理函数的实现,往往可以采取前后台模式。
前台操作:即把关键的必不可少的耗时最少的操作放在中断处理函数(或其子函数中断回调函数)内,同时设置好一个全局变量的状态标志变量Flag。此为前台操作。
后台操作:待中断处理函数执行结束CPU回到主函数内再判断那个全局变量的状态标志变量Flag,用以完成特定的因中断事件发生而又需要耗时较长的一些操作或运算。此为后台操作。
上述前后台的操作,可以用前台点餐,领取令牌后在后台等待令牌告示餐已做好前来取餐来形容。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/woshihonghonga/article/details/148558009
|