我们先看看说明书怎么定义中断系统
中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的
先走个流程
在这流程图以下几步骤
- 第一步:关中断,为啥呢?
防止高优先级中断打断低优先级中断
- 第二步:现场保护啥?
中断事件本不属于正常流程之内发生的事情,中断事件打乱了本来程序的进程,好了,原本事件的数据需要先保存。
举个例子
你在客厅拿着手机看着剧,你妈妈叫你去厨房帮她关以下火,按照正常人理解是不是第一应该先把手机给按暂停,然后去厨房,你按了暂停这跟单片机现场保护是一个道理
- 第三步:开中断,为啥又要开中断?
为了可以相应更高优先级中断,
举了例子
你在去厨房的路上,突然你听到给你送快递的人敲门,按道理我肯定是先去收快递,不是先去关火,好这里收快递又是一个中断事件,在我认为快递比关火更重要,所以去拿快递的优先级比关火的优先级更高
- 第四步:中断处理
啥意思呢?就是你去厨房关了火
- 第五步:关中断
- 第六步:恢复现场
恢复啥现场?你现在回到沙发上,打开手机按下播放键,按下播放键就是恢复现场,在你去厨房关火前看到哪了,现在接着看,这就是恢复现场,回到了正常执行程序里面
- 第七步:开中断
最后返回
了解了中断流程了,回到我们的单片机
先看中断结构图
第一步中断请求要打开,然后是中断允许控制,最后是优先级
中断请求:
外设向CPU请求中断,所以需要在外设打开中断请求
第二步中断允许,CPU要判断允不允许这个外设中断
最后就是优先级
什么是优先级呢?
事件的重要性,这个是由用户自己来决定,在上一个例子我认为拿快递比关火重要,所以拿快递的优先级比关火的优先级高