当前位置:首页 > 单片机 > 单片机
[导读]一、背景有个需求,IO口检测上升沿,然后做相应的动作。在此记录STM32F103的外部中断结构及配置方法,以备下次快速上手使用。有许多不太明白,又是老司机(:-D)帮忙,真的是站在别人的肩膀上会让你看的更远,走的更

一、背景有个需求,IO口检测上升沿,然后做相应的动作。在此记录STM32F103的外部中断结构及配置方法,以备下次快速上手使用。有许多不太明白,又是老司机(:-D)帮忙,真的是站在别人的肩膀上会让你看的更远,走的更快,感谢老司机。二、正文STM32f103有68个可屏蔽中断。(但是,真正能用的其实远没有这么多,原因下面会详述。)有16个可编程的优先等级,优先等级的概念可详见我的另外一篇博客《STM32之NVIC(中断向量、优先级)简述》,链接:"http://www.cnblogs.com/ChYQ/p/5859974.html",接着看中断向量表,  如下图:

该中断向量表从高到低按照默认的中断优先级排序将所有可用的中断以表的形式列出来。仔细来看每一列代表的意义:"优先级":无需多言,默认的中断优先级次序。"优先级类型":即表明,这个对应的默认优先级是否可被配置更改,以使其优先级升高或者降低。"名称":外部中断名称简写"说明":通过这个我们就可以清楚知道前一列的"名称"代表的是哪个具体的外设中断。"地址":这个地址即当对应的外部中断来时,若是使能了该外部中断,则MCU会将PC指针跳转到该地址,编译器一般会在该地址内保存对应的中断处理函数指针,进而可进入到相应的中断处理函数做相应的处理。然后说说外部中断事件(EXTI),外部中断事件由20个(互联型)/19个产生事件/中断的边沿检测器组成,白话说,即GPIO口可检测到对应IO口的上升沿/下降沿/双边沿事件,进而产生相应中断。    接着看外部中断/时间框图,如下图:

从最右来看,输入线连接至GPIO口,检测外部引脚的电平信号,上升沿/下降沿触发器与软件中断事件触发器,经过"或"器件传入下一级,意味着,这两类信号可独立引起中断/事件。经过"或"后,信号出现了分支,信号一路进入请求挂起寄存器,若是中断屏蔽寄存器设置为允许该信号,则一起"与"使能对应的中断。另一路则是同事件屏蔽寄存器信号相"与",通过则产生对应的事件。说到这,中断和事件又有什么不同呢?中断既是正常理解的中断,中断信号通过后,会让MCU的PC值跳转到相应的中断入口,找到对应的中断处理函数,然后进行中断处理。事件则用来向其他外设模块发送脉冲事件,通知外设去做相应的事情,就以ADC接收到脉冲事件后自动  开始ADC转换为例进行说明。在ADC中,初始化ADC的结构体如下:typedefstruct{uint32_tADC_Mode;FunctionalStateADC_ScanConvMode;FunctionalStateADC_ContinuousConvMode;uint32_tADC_ExternalTrigConv;uint32_tADC_DataAlign;uint8_tADC_NbrOfChannel;}ADC_InitTypeDef;选项"ADC_ExternalTrigConv",即是设置ADC的触发启动方式,可配置为软件触发启动,当该值配置为"ADC_ExternalTrigConv_Ext_IT11_TIM8_TRGO"的时候,则ADC会在EXT产生脉冲事件的同时,开始自动触发ADC转换,与软件触发启动不同的是,这种方式是硬件自动完成,不需要软件参与。当然,不限定只能为EXT,还可以是定时器等等。最后说说上文提及的,为什么明明有68个可屏蔽中断,可实际却远没有这么多。上图提及,GPIO口通过连接到外部中断/事件线上来完成相应的中断请求,然后看看外部中断通用I/O口映像,如下图:

外部中断/事件线只有16个,IO口却有A~G(7)组,每组有16个引脚,从上图可看出,实际上一次性可用的外部中断/事件也只能有16个,并不是IO口有多少,就能有多少个外部中断/事件。    譬如说若是第一组PA0用了第一个中断/事件线,那么P(x)0就不能再被用作外部中断输入口了。(x  为B~G)。外部中断结构大致就介绍到此。接下来说说,结合库函数,如何让外部中断配置成功并工作。一一般步骤为:-->初始化对应IO口为输入;-->使能对应IO口时钟,并设定IO口与外部中断/事件线的联系;      注意:由于此处用了外部中断,所以对应的复用时钟要打开!       RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//使能GPIO时钟复用      //设定GPIO口与中断/事件线联系库函数voidGPIO_EXTILineConfig(uint8_tGPIO_PortSource,uint8_tGPIO_PinSource);"GPIO_PortSource":选择对应的GPIO口。"GPIO_PinSource":选择对应的外部中断/事件线。-->初始化外部中断/事件线,并配置触发模式(上边沿/下边沿/双边沿);voidEXTI_Init(EXTI_InitTypeDef*EXTI_InitStruct)结构体"EXTI_InitStruct"如下:typedefstruct{//外部中断/事件线是否被使能//"EXTI_Line0"->"EXTI_Line15"uint32_tEXTI_Line;//中断模式/事件模式EXTIMode_TypeDefEXTI_Mode;//触发模式(上边沿/下边沿/双边沿)EXTITrigger_TypeDefEXTI_Trigger;//"Enable"或"Disable"FunctionalStateEXTI_LineCmd;}EXTI_InitTypeDef;-->设置NVIC,并使能中断;详见NVIC博客,不再详述-->写中断处理函数。STM32F103外部中断函数共有6个:EXTI0_IRQHandlerEXTI1_IRQHandlerEXTI2_IRQHandlerEXTI3_IRQHandlerEXTI4_IRQHandlerEXTI9_5_IRQHandlerEXTI15_10_IRQHandler外部中断"0"->"4"有独立的中断处理函数;外部中断"5"->"9"共用中断函数"EXTI9_5_IRQHandler";外部中断"10"->"15"共用中断函数"EXTI15_10_IRQHandler";中断函数示例如下:voidEXTI9_5_IRQHandler(void){//获取中断状态if(EXTI_GetITStatus(EXTI_IMR_MR8)!=RESET){//清除挂起位EXTI_ClearITPendingBit(EXTI_IMR_MR8);}}三、参考链接STM32externalinterrupthttp://www.programering.com/a/MDM4kzMwATg.html    STM32外部中断学习笔记    http://blog.csdn.net/zzwdkxx/article/details/9036679至此,记录完毕。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭