首先我们需要知道什么是中断优先级:中断优先级是CPU响应中断的先后顺序
中断优先处理的原则是:
- 先响应优先级高的中断请求,再响应优先级低的中断请求。
- 如果一个中断请求己被响应,同级的其他中断请求将被禁止。
- 如果同级的多个中断请求同时出现
中断优先级是CPU响应中断的先后顺序。中断优先处理的原则是:
- 先响应优先级高的中断请求,再响应优先级低的中断请求。
- 如果一个中断请求己被响应,同级的其他中断请求将被禁止。
- 如果同级的多个中断请求同时出现,CPU则按单片机内部的自然优先级顺序响应各中断请求。
单片机内部自然优先级顺序(由高到低)为:
外部中断0→定时器0中断→外部中断l→定时器1中断→串行接口中断
中断优先级的配置:
首先,对STM32中断进行分组,组0-4.同时,对每个中断设置一个抢占优先级和一个响应优先级
抢占优先级和响应优先级的区别
高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的。
抢占优先级相同的中断,高响应优先级不可以打断低响应优先级的中断。
抢占优先级相同的中断,当两个中断同时发生的情况下,哪个响应优先级高,哪个先执行。
如果两个中断的抢占优先级和响应优先级都是一样的话,则看哪个中断先发生就先执行。
使用讲解 :
实际在使用中我们可以根据实际情况设置相应的优先级分组。
特别注意:一个程序代码里只能有一个中断优先级分组,存在多个 优先级分组可能会导致程序出现奇奇怪怪的错误!
-
单片机
+关注
关注
6034文章
44528浏览量
633606 -
cpu
+关注
关注
68文章
10832浏览量
211302 -
中断优先级
+关注
关注
0文章
22浏览量
9359
发布评论请先 登录
相关推荐
评论