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

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

STM32入门教程-2023版【5-1】中断执行流程_第1张图片

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

二、中断执行流程

STM32入门教程-2023版【5-1】中断执行流程_第2张图片

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

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

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

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

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

STM32入门教程-2023版【5-1】中断执行流程_第3张图片

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

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

STM32入门教程-2023版【5-1】中断执行流程_第4张图片

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

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

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

STM32入门教程-2023版【5-1】中断执行流程_第5张图片

作 者 :硬核王同学

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

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

STM32入门教程-2023版【5-1】中断执行流程_第6张图片

你可能感兴趣的:(stm32,嵌入式硬件,单片机)