STM32入门教程-2023版【5-1】中断执行流程

关注 + 点赞   不错过精彩内容

图片

大家好,我是硬核王同学,最近在做免费的嵌入式知识分享,帮助对嵌入式感兴趣的同学学习嵌入式、做项目、找工作!

二、中断执行流程

图片

(1)中断程序的执行流程

左边第一个图中,从上到下的一条线我们看成是主程序,当它执行到某个地方时,外设的中断条件满足了,那这时,无论主程序是在干什么事情,中断来了,主程序都得立即暂停,程序由硬件电路自动跳转到中断程序中。

当中断程序执行完之后,程序再返回被暂停的地方继续运行,比如Delay没延时完,现在就继续延时,那这个被暂停的地方,我们就称它为断点。

为了程序能在中断返回后继续原来的工作,在中断执行前,会对程序的现场进行保护,中断执行后,会再还原现场,这样可以保证主程序即使被中断了,回来之后也能继续运行当然我们用C语言编程。

保护现场和还原现场的工作并不需要我们来做,编译器自动帮我们做好了,所以这里了解一下即可

图片

(2)中断嵌套的执行流程

左边半部分是正常的中断程序的执行流程,当这个中断正在执行时,又有新的优先级更高的中断来,那这里就会再次打断,然后执行新的中断,新的中断结束,再继续原来的中断,原来的中断结束,再继续主程序,这就是中断嵌套的执行流程

图片

(3)带有中断的C语言程序

带有中断的程序如下图所示,上面是主函数,while(1)死循环里就是主程序,正常情况下,程序就是在主程序里不断循环执行,当中断条件满足时,主程序就会暂停,自动跳转到中断程序里运行,中断顺序执行完之后,再返回主程序继续执行

一般中断程序都是在一个子函数里的,当中断来临时,由硬件自动调用这个函数

图片

作 者 :硬核王同学

------- END ------

关注公众号回复“加群”按规则加入技术交流群  回复“1024”查看更多内容

图片

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硬核王同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值