历史上的今天
返回首页

历史上的今天

今天是:2024年12月03日(星期二)

正在发生

2018年12月03日 | STM32之中断和异常

2018-12-03 来源:eefocus

1、STM32的所有GPIO都可以用作外部中断源的输入端,用来捕捉外部信号,可以配置为下降沿中断、上升沿中断和上升下降沿中断三种模式。 

2、Cortex内核具有很强大的异常响应系统,它把能够打断当前代码执行流程的时间分为异常(exception)和中断(interrupt),并把它们用一个表管理起来,编号0~15的称为内核异常,而16以上的则称为外部中断。这个表就称为中断向量表。 

3、NVIC是属于Cortex内核的器件,不可屏蔽中断(NMI)和外部中断都由它来处理,而SYSTICK不是由NVIC来控制的。 

4、STM32的中断向量具有两个属性,一个为抢占属性,另一个为响应属性,其属性编号越小,表明它的优先级别越高。 

抢占,是指打断其他中断的属性,即因为具有这个属性会出现嵌套中断(在执行中断服务函数A的过程中被中断B打断,执行完中断函数B再继续执行中断服务函数A),抢占属性由NVIC_IRQChannelPreemptionPriority的参数配置。 

而响应属性则应用在抢占属性相同的情况下,当两个中断向量的抢占优先级相同时,如果两个中断同时到达,则先处理响应优先级高的中断,响应属性由NVIC_IRQChannelSubPriority参数配置。 

5、NVIC只能配置16种中断向量,如果工程中超过16个中断怎么办? 
注意NVIC能配置的是16种中断向量,而不是16个,当工程中有超过16个中断向量时,必然有两个月以上的中断向量是会用相同的中断种类,而具有相同中断种类的中断向量不能互相嵌套。 

6、AFIO时钟 
当把GPIO用作EXIT外部中断或使用重映射功能的时候,必须开启AFIO时钟,而在使用默认复用功能的时候,就不必开启AFIO时钟。 

7、中断服务函数名是不是可以自己定义? 

不可以,中断服务函数的名字必须要与启动文件startup_stm32f10x_hd.s中的中断向量表定义一致。 

8、中断函数名有两种命名方法: 


① 
EXTI0_IRQHandler ;EXTI Line0 
EXTI1_IRQHandler ;EXTI Line1 
EXTI2_IRQHandler ;EXTI Line2 
EXTI3_IRQHandler ;EXTI Line3 
EXTI4_IRQHandler ;EXTI Line4 
② 
EXTI9_5_IRQHandler ;EXTI Line 9..5 
EXTI5_10_IRQHandler ;EXTI Line 15..10 
中断线在5之后的就不能像0~4那样只有单独一个函数名,都必须写成EXTI9_5_IRQHandler和EXTI15_10_IRQHandler。假如写成EXTI5_IRQHandler、EXTI6_IRQHandler、……、EXTI15_IRQHandler编译器是不会报错的,不过中断服务程序不能工作。所以如果不知道这样的区别,会浪费很多时间来查找错误。

推荐阅读

史海拾趣

Diplohmatic A/S公司的发展小趣事

随着技术创新的成功,Diplohmatic A/S公司开始寻求国际市场的拓展。公司派遣了一支由经验丰富的销售和技术人员组成的团队,前往欧洲和亚洲的主要市场进行考察和洽谈。通过深入了解当地市场需求和竞争态势,公司制定了一系列有针对性的市场策略,并与多家国际知名企业建立了合作关系。这些合作不仅为公司带来了更多的订单,也提升了其品牌在国际市场的知名度。

C&D公司的发展小趣事

随着国内市场的逐渐饱和,C&D公司开始积极拓展海外市场。公司制定了国际化战略,通过参加国际展会、建立海外销售网络等方式,不断开拓国际市场。同时,C&D公司还针对不同地区的市场需求,推出定制化的产品和服务,进一步提升了其在国际市场中的竞争力。

富捷(FOJAN)公司的发展小趣事

富捷电子深知质量是企业生存和发展的基石。因此,公司高度重视质量管理体系建设,成功导入了ISO9001/IATF16949及VDA6.3质量管理体系、ISO14001环境管理体系。在原材料管理、产品生产、产品过程检验及出货流程中,公司严格遵循体系要求,秉持全面质量管理(TQM)精神,确保每一环节都达到国际最高品质标准。这种对质量的执着追求,赢得了客户的广泛信赖和好评。

Diodes Incorporated公司的发展小趣事

在公司的发展过程中,Diodes Incorporated与富昌电子建立了长期稳定的合作关系。富昌电子作为Diodes Incorporated的全球分销商之一,不仅为公司提供了广阔的市场渠道,还在产品推广和技术支持等方面给予了大力支持。这种紧密的合作关系,不仅促进了双方业务的共同发展,也为Diodes Incorporated在电子行业中树立了良好的品牌形象。

Control Sciences Inc公司的发展小趣事

随着技术的不断进步,Control Sciences Inc开始寻求更广阔的市场空间。公司积极参与国内外各大电子展会,展示其先进的产品和技术。同时,公司还加大了市场推广力度,与多个知名企业建立了战略合作关系。通过这些努力,Control Sciences Inc的产品逐渐走进了更多的企业和家庭,其品牌影响力也日益增强。

BEKA Associates Ltd公司的发展小趣事

在快速发展的过程中,BCD Semi(Diodes)积极寻求风险投资和资本运作的支持。公司通过吸引国内外知名的投资机构参与投资,获得了大量的资金支持,为公司的研发、生产和市场拓展提供了有力的保障。同时,BCD Semi还通过并购、合作等方式,与行业内的其他企业实现资源共享和优势互补,进一步提升了公司的综合实力。

问答坊 | AI 解惑

晒晒哥们自制的下载线

哥们自制的下载线,样子有些粗糙,但是经过验证了,很好用! [ 本帖最后由 西门 于 2009-5-11 22:14 编辑 ]…

查看全部问答>

智能循环水控制器设计!

基于 TMS320C2812DSP的智能循环水控制器的设计 江存胜 ,段建民 ,綦  慧 ,李大庆 ,倪少强  ( )北京工业大学 电控学院自动化系,北京 100022   摘要:  针对传统控制中自动化程度较低的问题 ,研制了智能工业循环水加药控制系统。该控制 ...…

查看全部问答>

让我们一起DIY个 FPGA开发板,上电路图,欢迎查错

自从让我们一起DIY个 FPGA开发板, 报名喽~~~ 之后 很久没给大家消息了,附件是电路图,protel99格式的, 之前只画过简单的,所以希望大家给予指教…… 一点相关资料:Altera Configuration Handbook & cyclone_device_handbook    & ...…

查看全部问答>

串口通信编程大全.pdf

详细介绍串口通信相关知识,想要的就下吧…

查看全部问答>

请问有没有这样的模拟软件?

        请问有没有这样的模拟软件?                 我刚学AVR单片机   用的是个学习板      感觉学习板功能很有限   我发现电路 ...…

查看全部问答>

想开发一款嵌入式导航软件,关于画图方面的疑问

现在我负责的模块是地图的绘制,就是说我封装一些函数,当别人需要绘制地图上的公路,铁路时,就调用我的函数就行。但是我现在一点头绪都没有,大牛们能不能给一些指导,谢谢。…

查看全部问答>

GPIO初始化配置成GPIO_Mode_Out_PP后怎么是低电平呢?

我用PB14以吸收电流的方式驱动一个LED灯,下面是初始化代码:GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;        //1GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  ...…

查看全部问答>

STM32F100C8/B价格是多少?

                                 STM32F100C8/B价格是多少? 量产了吗?…

查看全部问答>

关于时序分析中时钟的设置.

请教各位:当系统中有一个20MHz的输入时钟时,经过PLL倍频后,产生一100MHz和一20MHz的内部时钟时,Clock Setting那里如何设置,是不是应填最大的100MHz? PLL出来的100MHz和20MHz是不是相对于20MHz的输入时钟为衍生时钟?Individual Clocks是不 ...…

查看全部问答>

寻北京地区合作伙伴

本人要开发一些产品,想找有802.15.4和zigbee协议栈开发方面的软件高手合作,有意者请加QQ:2969574200详聊。…

查看全部问答>