[stm32] 3-1 中断编程
·
文章目录
前言
-
本笔记内容,为本人依据B站UP主“铁头山羊”视频内容(本人为其粉丝),归纳整理总结而来,如有侵权,联系立即删除,同时有想详细了解的也可进行观看bilibili铁头山羊 。
-
硬件:STM32F103C8T6
-
软件:Keil
3-1 中断编程
中断编程的原理
生活中的中断
- 中断:处理突发事件的过程叫做中断
单片机编程里面的中断
- 中断:由于中断源的触发,常规程序被打断,CPU转而运行中断响应函数,而后又回到常规程序的执行,这过程叫做中断。
为什么要使用中断
-
突发性
-
紧急性
中断处理的过程和术语
- 中断处理的4个阶段
(1)中断触发(中断源)
(2)中断进入(保存现场)
(3)中断响应(清除中断源、调用中断响应函数)
(4)中断退出(还原现场)
中断优先级的概念
-
中断优先级:中断处理的紧急程度;
-
中断排队:在中断响应过程中又有新的中断到来,新到来的中断需要排队,根据中断优先级决定排队的顺序;
-
中断嵌套:中断处理过程被更紧急的中断源打断。
中断优先级的表示方法
-
中断优先级的实质是数字
-
分类:抢占优先级和子优先级
-
中断优先级由4个BIt控制,高2位表示抢占优先级,低2位表示子优先级
-
注意:
(1)优先级的值越小优先级越高;
(2)遇到抢占优先级更高的中断会发生“中断嵌套”;
(3)未发生中断嵌套时会发生“中断排队”,总有优先级更高的中断排前面。
“脉冲型”中断源和“电平型”中断源
-
“脉冲型”中断源(罕见):中断信号一闪而过
-
“电平型”中断源(常见):中断提示信号持续,直到自动关闭,因此必须在中断响应函数结束前清除中断(不清除,则会不断进入中断,直到手动停止硬件)
中断源的4种状态
-
不活动:中断没触发或者响应已经响应结束
-
活动:中断正在被响应
-
挂起:中断正在排队等待处理
-
活动且挂起:中断处理过程中再次被触发。(仅脉冲型)
随堂测试
什么叫“常规程序”,什么叫“中断程序”?
答:
1. 由于main函数直接或者间接调用的程序
2. 由于突发事件而导致的程序
中断处理的过程分为哪几个阶段?
答:
1. 中断触发(中断源)
2. 中断进入(保存现场)
3. 中断响应(清除中断源、调用中断函数)
4. 响应结束(还原现场)
发生中断排队的条件是什么?
答:
1. 首先,要有一个中断
2. 新的中断的优先级小于,正在执行中断的优先级,总的优先级越高,数值越小
什么叫“脉冲型”中断源?为什么叫做“电平型”中断源?
答:
1. “脉冲型”中断源(手机提示)
1. 一闪而过,无需清除中断
2. “电平型”中断源(闹钟)
1. 长时间保持一种电平,需要清除中断
更多推荐
所有评论(0)