jianhong_wu 发表于 2015-12-19 12:26:16

stm32单片机的抢占优先级和响应优先级有什么区别,各自应用在哪些场合?已解答。

小陈-东莞:
stm32的中断优先级,,,如果抢占等级一样为1,响应优先级(子优先级)越小是不是优先执行呀?我三个串口,一个定时器。。

HQ-成都:
是的。抢占优先级一样的话,响应优先级数值越小越先执行。抢占优先级一样的话,高优先级不能打断低优先级,高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的,


小陈-东莞:
抢占的数值也是越低优先级等级越高吧?

积累-深圳:
是的。抢占可以在其他低优先级中断发生时触发高优先级,响应就是低优先级中断执行完,高响应优先级会优先执行。

啦啦-青岛:
很少情况下才会用到响应优先级。我一直用抢占优先级,16级抢占,我感觉够了。举个例子,如果用两个串口A和B,抢占优先级相同,响应优先级A高于B,那么如果B先进中断,A是不可以打断B的。


HQ-成都:
抢占是扛霸,任意打断比他低的优先级,举个例子,我们设中断优先级分组为2,然后设置中断3的抢占优先级为2,响应为1,中断6的抢占优先级为3,响应为0。中断7的抢占优先级为2,响应为0,那么执行顺序为:中断7>中断3>中断6,注意,3和7可以打断6,但是!!7和3不可以相互打断。

积累-深圳:
不过中断嵌套太多,堆栈深度也会增加的。

小陈-东莞:
stm32的中断优先级,,,如果抢占等级一样为1,子优先级越小是不是优先执行呀?

积累-深圳:
是的。

★坚鸿-深圳:
汇总一下。响应优先级(子优先级)是针对三个中断以上的情况,第一个中断正响应,另外两个中断正在等待响应,当第一个中断执行完时,接下来先响应剩下来两个中断的哪个中断,就看响应优先级(子优先级)了。

页: [1]
查看完整版本: stm32单片机的抢占优先级和响应优先级有什么区别,各自应用在哪些场合?已解答。