STM8中断优先级

狂简   2010-7-9 14:14 楼主
软件优先级
Level 0 (main)
Level 1
Level 2
Level 3 (= software priority disabled)
=================================
LEVEL 3 为什么说是关闭的软件优先级了呢?不是软件优先级最高吗?
如果两个中断来了,A,B,  A的硬件优先级是 比 B高,但是 A软件优先级是 LEVEL 2,而 B的软件优先级是 LEVEL 3
这个时候应该是先响应B吧,依据软件优先级

Level 3 (= software priority disabled) 这个是什么意思?

回复评论 (9)

                                 有谁帮解答一下啊!呵呵
点赞  2010-8-7 08:04
是的,先响应B。

因为B的优先级是Level 3,响应B之后,CPU不能再响应任何其它中断,这不就相当于关闭了中断吗?
点赞  2010-8-7 10:17
3Q啊,老大!

点赞  2010-8-7 21:35
高优先级的中断响应完了以后  不能再响应低优先级的中断了?
点赞  2016-12-29 09:12
顶起,遇到同样的疑惑, 请大师帮忙解答
点赞  2017-6-14 16:18
引用: lyfly_away 发表于 2017-6-14 16:18
顶起,遇到同样的疑惑, 请大师帮忙解答

stm8的中断分两种,一种是非嵌套中断,一种是嵌套中断。
非嵌套中断:默认所有中断软件优先级都为3,这种时候根据硬件优先级高低来决定先响应哪个中断,且如果一个中断正在响应,其他中断不管硬件优先级高低都不会被响应,只能等当前中断响应结束,再根据硬件优先级决定响应哪个中断。此时软件优先级同为3,相当于失能了。
嵌套中断:软件优先级可设,软件优先级不同,先响应软件优先级高的中断,如果在中断发生过程中还有比此中断软件优先级更高的中断发生,则先执行更高优先级的中断,执行完后再来执行当前中断。
点赞  2017-6-14 16:43
引用: 18633013902 发表于 2017-6-14 16:43
stm8的中断分两种,一种是非嵌套中断,一种是嵌套中断。
非嵌套中断:默认所有中断软件优先级都为3,这 ...

感谢,这样的描述比datasheet里的“Level 3 (= software priority disabled*)” 强多了
点赞  2017-6-14 18:11
引用: lyfly_away 发表于 2017-6-14 18:11
感谢,这样的描述比datasheet里的“Level 3 (= software priority disabled*)” 强多了

datasheet 很多内容描述的并不深刻,还是需要自己做的时候不断挖掘的  
点赞  2017-6-15 10:25
都为最高了,怎么把一个中断设置为比其他中断优先级高呢?
点赞  2017-7-27 10:03
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复