STM32单片机是怎样执行中断函数中的应用的

发布时间:2023-09-06  

在STM32单片机的编程当中,中断函数的名称都是xxx_IRQHandler格式的。那当编译程序的时候是怎么知道这是一个中断函数的呢?


每个中断都是有入口地址的。程序在执行过程中遇到中断的时候,会先判断这个中断的类型,根据类型再到中断向量表中查找,找到之后,根据表中指明的地址,程序就跳到该地址开始执行代码。


ST提供的固件库当中,有提供一个stm32f10x_it.c文件,打开之后会发现里面放的都是些空函数,但是名字都是“xxx_Handler()”格式,需要使用某个中断的时候,在代码中使能该中断,并到这个文件中将中断服务函数添加上,就可以了。

而这些名字就是一个个的中断函数入口地址。在启动代码中便有这些定义。如下图所示:


可以看到,里面定义了一个个名称,这些名称就是中断函数入口的地址,用这些名称来代替了具体的地址值。


其中DCD是一条数据定义伪指令,用于分配一片连续的字存储单元并用指定的数据初始化。当配置好相应外设的控制寄存器中断使能时,当发生中断(异常)时,该异常被Cortex-M3内核接受,对应的异常Handler就会执行。而这个响应过程都是硬件来完成的,当然为了决定Handler的入口地址,Cortex-M3使用了“向量表查表机制”。startup_stm32f10x_hd.s启动文件已经为相应外设的中断服务函数赋予了相应的地址。所以在异常发生后,CPU进入异常模式,同时程序计数器PC自动指向异常入口地址,进而执行中断服务函数中的应用。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    STM32的中断机制 stm32中断方式有几种;STM32的中断机制stm32中断方式有几种 中断机制在单片机中是很重要的环节,中断代码默认地从上往下执行,遇到特定条件或特定语句,将按......
    器输出模拟量。 2 电路与元器件 80C51芯片是intel公司开发的MCS-51系列单片机中的经典的一种。 DAC0832是D/A转换芯片,是专门用于数模转换的的芯片。 电路图如图: 3 源代码 3.1 程序......
    STM32单片机的PWM输入捕获模式设计;说 不进中断 等等基本功能没实现ok的,查看: STM32 外设配置关键步骤 务必仔细瞅瞅… TIM输入捕获简介 TIM输入捕获两种模式: 1. PWM输入......
    ) 中断服务子程序:处理中断事件的程序代码段,与主程序相互独立。 2. 中断优先级 在51单片机中中断优先级决定了中断源的处理顺序,具有较高优先级的中断源会优先得到处理。一般情况下,中断......
    可以作为通用输入输出引脚,也可以通过软件控制来使用特定功能。其他引脚则是供其他模块使用的,如时钟引脚、中断引脚等。 1.GPIO引脚 GPIO引脚是单片机最常用的引脚类型,用于通信、控制、数据传输等。在STM32单片机中......
    语言和编译指令系统等方面对51单片机编译指令系统进行详细介绍。 1. 编译原理 编译指令系统是一种将高级语言转换为机器指令的过程。在编译指令系统中,编译器将源代码文件转换为目标代码文件,这个过程通常被称为编译。编译......
    51单片机编程环境的搭建及代码编写的方法;1. 51单片机概述 51单片机是对所有兼容Intel 8031指令系统的单片机的统称。目前教科书基本都是以早期的MCS-51为原型,讲解......
    处理完之后再回到之前执行的函数。 栈是从高到低分配,堆是从低到高分配。 普通单片机与STM32单片机中堆栈的区别 普通单片机启动时,不需要用bootloader将代码从ROM搬移到RAM。 但是STM32单片机需要。 这里我们可以先看看单片机......
    。 51单片机的中断功能是比较简单的,只需要配置好相应的寄存器就完成了初始化。 本文外部中断使用按键P3.2测试,因为其端口具备外部中断第二功能。 51单片机中断结构配置前,需要......
    机之间进行串口通信时,需要确定好使用的波特率、数据位、停止位和校验位等参数,以保证数据传输的正确性。2. 数据格式在STM32单片机中处理QT上位机串口中发过来的数据时,需要了解数据格式。一般情况下,串口......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>