标题: STM32单片机中断解说和设置 各论坛 众说纷纭 莫衷一是 [打印本页]

作者: czhaii    时间: 2022-5-10 09:57
标题: STM32单片机中断解说和设置 各论坛 众说纷纭 莫衷一是

一篇文章是这么说的,优先级组别4时,副优先级为0位/0级。


再找另一篇文章,优先级组别4时,又是4位抢占优先级,0位子优先级

继续再找另一篇文章,又是这么说了



这个STM32单片机中断,看了好几天了,越看越糊涂。

作者: yzwzfyz    时间: 2022-5-10 16:30
假设你就是CPU,你如何判定谁更高级呢?
一定要有个判定的依据,最好给它们排个序,总要给它们按个序号吧。
用AIRC[10:8]排序如何?够不够用,3位最多只能8个,而中断不止8个,看来不够。
那就再加吧?加上IPR[7:4]如何?够不够用,又增4位,共7位,最多只能128个……
明白了吗?
作者: Hephaestus    时间: 2022-5-10 16:42
STM32那么多子型号,怎么可能有标准答案?
作者: Y_G_G    时间: 2022-5-10 17:35
这个是很好理解的,看第一张彩色图就可以了,可能写书的人已经精通了STM32,所以,可能觉得这个太好理解了,就没有细说
这里只说STM32的M3,别的不说,理解就好
先说优先级组合,中断优先级组合只能有0-4这5个组合
因为它只用了4个位来控制中断的优先级(抢占级和副优先级),4个位最大数就是1111=15
所以:
在0组合的时候,抢占级为0,4个位都可以给副优先级进行级别设置,这个时候:抢占等级就只有一个级别:0级
副优先级就有0-15一共是16个级别
1组合的时候,抢占等级用一个位来设置,那么,就有了0-1一共两个级别可能设置
副优先级就只有3个位,就有0-7一共是8个级别可以设置了
其它级别自己分析了
抢占等级决定了它能不能打断其它中断
优先等级是在多个中断同时触发时的优先处理权,优级等级没有打断的权力,只有优先权力,只有在多个中断同时触发时才会用到
如果是相同级别的抢占等级一个低优先等级中断正在执行,这个里又来了一个更高级别的优先等级中断,那么,这个中断只能挂起(意思就是干等着),等到前面的处理完了,才会来处理这个中断





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1