单片机的中断程序如何运行

单片机的中断就是类似的一个过程,发生中断时,就会打断正在执行的主程序,先处理完中断任务,返回主程序继续运行,当然在执行中断函数之前,单片机需要把关键的数据保存下来,中断函数执行完成后才可以正确的恢复主函数运行。
单片机的主程序是怎么运行的?
其实单片机的主程序其实是一个主函数,我们一般命名为main,主函数会从上住下运行的,执行到最后又返回上面继续运行。我们用c语言编写main主函数时,会用到while(1)让主程序不断的循环。
由此可见,主程序里的各种功能是按着顺序来执行的,谁也不能插队。那怎么样来实现中途打断插队呢?这就需要用到中断了。
单片机的中断程序是怎么执行的?
单片机有着各种和样的中断功能,比如定时器中断、外部中断、串口中断等等。比如我们要实时检测一个按键的按下事件,如果在主程序中进行扫描,就会有一定的延时,需要等主程序运行到按键扫描的程序时才可以检测到按键的状态。
中断是单片机一个重要的功能,单片机会给所有中断功能分配一个中断向量(有些中断功能会共用一个中断向量)。当开启了相应的中断功能并且发生中断时,就会自动跳转到对应的中断向量运行。在中断向量处,我们就可以调用我们编写好的中断函数,处理相关的事件就可以了。如果开启了中断嵌套,在中断函数执行过程发生优先级更高的中断,还可以暂停正在运行的中断函数,去执行更高级别的中断程序。
中断函数为什么不在主函数中运行?
主函数是一个函数,中断函数也是一个函数,它们是独立的函数,所以是分开的。上面已经说得很清楚了,中断是打断正在运行的函数去执行优先级更高的函数,所以中断就是打断主函数去执行更高优先级别的中断函数的一个过程。
在发生中断时,单片机会自动跳转到对应的中断向量,在中断向量处,我们需要调用中断函数来处理中断事件,如果中断事件的处理程序放在主函数中,那么这些处理中断事件的程序就不是一个独立的函数了,就没法调用了。

smt生产线流程介绍_smt生产线设备
基于虚拟仪器技术实现步进电机控制系统的设计
熵基科技正式发布生物识别门禁智能控制器
改进MQTT 5的5个关键特性
调节变频器的速度来实现精确电机控制
单片机的中断程序如何运行
《图学学报》—深度残差网络的无人机多目标识别
车载逆变器对汽车有损害吗?
开一次机就3万费用的手术机器人到底有多牛!
奔腾NAT、E01携手红旗新能源双子星亮相“旗E春城”项目启动会
华为将同系列的“基础款”与“Pro”款拉开距离 华为 P30 也不例外
PCIe 5.0对互联芯片的性能验证要求
基于车规级位置传感器AS5172的车载应用
KDDI采用Wind River Studio在日本推进5G Open vRAN站点商业部署
工业路由器的自助终端机组网的优势是什么
为什么要进行电路防护呢?电子设备进行电路保护的原因是什么呢?
智能照明系统LED驱动电路设计
有源晶振与无源晶振的区别在哪
FPGA中Bank和Clock Region之前有什么关系?
基于STM32F103C8T6的温湿度检测设计