如何理解中断(STM32)

目录

中断是什么,如何去更好的理解中断?

中断是什么?

中断存在的意义是什么,为什么要有中断?

为什么提高效率了?

中断是如何执行的?

中断向量表

关于中断的深入学习


中断是什么,如何去更好的理解中断?

中断是什么?

要是想更好的理解终端,我们需要知道,什么是中断?

中断就是:

在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行。

当然,中断这个概念对初学者会有点难以理解,这里我们举一个例子:

比如我在家里玩游戏,这时候有快递员送货上门我听到敲门声,那我肯定是先暂停打游戏先去开了门,然后取完快递后,再继续回去打游戏。
这里过程我们可以分析为:
1.在家里打游戏是我当前执行的主程序
2.听到敲门声是中断申请
3.暂停打游戏去开了门,并且取完快递是单片机对中断的响应和处理
4.回去继续打游戏是中断结束返回继续执行被打断的主程

中断存在的意义是什么,为什么要有中断?

中断能够对突发事件进行及时处理,实现程序的并行化(时间片),进而提高CPU的工作效率。当发生突发事件时,比如外部触发的输入信号定时器溢出等,中断会立即打断正在执行的程序,转而执行中断服务函数(ISR)来处理该事件。

为什么提高效率了?

因为CPU对于没有发生的事情是在不停的在轮询(询问有没有发生?)

中断能提高CPU的效率,同时能对突发事件做出实时处理。实现程序的并行化,实现嵌入式系统进程之间的切换,中断不需要轮询,cpu省出时间去处理别的事情。

中断是如何执行的?

下面使用一张图片来进行简易的理解

正如上面举得例子,主程序就是打游戏,中断程序就是外卖,而这里的嵌套中断程序可以理解为,发生了更加紧急的事件,比如家里发生了地震。这时候,外卖也来不及处理,必需暂停拿外卖的程序,去处理应对地震的程序。

中断向量表

要想继续去了解中断,必须要知道中断向量表,在这里,我贴出一张F系列的中断向量表

关于中断的深入学习

由于本篇文章只是帮助不了解中断的朋友去初步认识中断,由于本人能力有限,也需要不停的学习,所以不再往下深入介绍,如果有兴趣的朋友,可以去了解一下:

NVIC-嵌套向量中断控制器

EXTI—外部中断/事件控制器

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

花田里的泪光

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

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

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

打赏作者

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

抵扣说明:

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

余额充值