找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 977|回复: 3
收起左侧

STM32单片机中断解说和设置 各论坛 众说纷纭 莫衷一是

[复制链接]
ID:140644 发表于 2022-5-10 09:57 | 显示全部楼层 |阅读模式
1.png
一篇文章是这么说的,优先级组别4时,副优先级为0位/0级。
2.png

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

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

3.png

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

使用道具 举报

ID:123289 发表于 2022-5-10 16:30 | 显示全部楼层
假设你就是CPU,你如何判定谁更高级呢?
一定要有个判定的依据,最好给它们排个序,总要给它们按个序号吧。
用AIRC[10:8]排序如何?够不够用,3位最多只能8个,而中断不止8个,看来不够。
那就再加吧?加上IPR[7:4]如何?够不够用,又增4位,共7位,最多只能128个……
明白了吗?
回复

使用道具 举报

ID:883242 发表于 2022-5-10 16:42 | 显示全部楼层
STM32那么多子型号,怎么可能有标准答案?

评分

参与人数 1黑币 +10 收起 理由
czhaii + 10 绝世好帖!

查看全部评分

回复

使用道具 举报

ID:401564 发表于 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个级别可以设置了
其它级别自己分析了
抢占等级决定了它能不能打断其它中断
优先等级是在多个中断同时触发时的优先处理权,优级等级没有打断的权力,只有优先权力,只有在多个中断同时触发时才会用到
如果是相同级别的抢占等级一个低优先等级中断正在执行,这个里又来了一个更高级别的优先等级中断,那么,这个中断只能挂起(意思就是干等着),等到前面的处理完了,才会来处理这个中断

评分

参与人数 1黑币 +12 收起 理由
czhaii + 12 赞一个!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表