关于STM32中断分组及优先顺序的学习

关于STM32中断分组及优先顺序的学习
最近在搞STM32中断的事情,起因是程序里面有冲突,总是搞不懂优先顺序,查了不少资料,结合实际的程序做了测试,现总结如下:

1、STM32中断的分类
实际就是大家常说的0-4 的分组,只不过,按照不同的分组规则,可以分为5大类:
Group_0-----Group_4,不同组之间有什么区别呢?其实就是把所有中断按数量分成
了两大类(一类是可以被中断嵌套的,另一类是只能按顺序响应的),两者的比例
不同而已。比如一共100个中断,是10:90、20:80、还是50:50。而且一个程序
里只能有一种分组方法,按程序里最后执行的分组方案。
2、分类完成之后的中断的优先级及响应级如何确定
回答这个问题要先搞明白一个概念:中断嵌套(抢占)和响应(顺序执行)的区别,
嵌套是可以停下当前的工作去做另外一个工作,响应则是做完这项再做另一项。
一旦搞清楚这两个概念,那么在中断发生时,如果抢占的级别高则要停下所有的事情
去完成中断级别高的工作,如果抢占的级别相同,则变成了比较响应的级别然后去
顺序完成。
3、举例:
首先要完成中断的分类,比如选Grouop2,所有中断就要按照50:50的方式分为两类
(分配50个抢占,50个响应,中断必须被分配两个标志–抢占级和响应级)。
如果发生了多个中断,那么就要先判断他们的抢占级的高低来决定***停下***谁,去执行谁
。如果这几个中断的抢占级都一样,那么就比较响应级,按***顺序***执行各自的程序,如果连响应级都一样,那么就比较***中断向量表***的大小,来决定顺序执行的测序。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值