全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
STM32之外部中断EXTISTM32中断控制线支持19个外部中断/事件请求,每个中断都有对应状态位和独立的触发与屏蔽设置。STM32F103的19个外部中断为: 线0-15:对应GPIO口的输入中断。 线16:连接到PVD输出(掉电检测,掉电时可立即保存重要数据作用)。 线17:连接RTC闹钟事件。 线18:连接到USB唤醒事件。每个IO口都可作为外部中断输入口的STM32的IO口远多于16个,而IO口使用的中断线只有16个。为此,GPIO管脚GPIOx.0GPIOx.15(X=A,F,G)分别对应中断线0-15.这样每个中断线对应了7个IO口。如线0对应着GPIOA.0,GPIOB.0,GPIOC.0,GPIOD.0,GPIOE.0,GPIOF.0,GPIOG.0但是每个中断线每次只能连接到1个IO口上。这样就需要通过相关的配置来决定对应的中断线被配置到哪个GPIO上了。GPIO和中断线的映射关系如下图: GPIO与中断映射配置通过函数来实现void GPIO_EXTILineConfig (uint8_tGPIO_PortSource, uint8_tGPIO_PinSource)例如:GPIO_EXTILineConfig(GPIO_PortSourceGPIOE , GPIO_PinSource2);即外部中断线2就和GPIOE映射起来了,显然是GPIOE.2与EXTI2中断线连接起来了。接着需设置中断触发方式:void EXTI_Init (EXTI_InitTypeDef *EXTI_InitStruct) 例如: EXTI_InitTypeDef EXTI_InitStructure; EXTI_InitStructure.EXTI_Line=EXTI_Line4; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); 以上例子设置了中断线line4的中断为下降沿触发。 设置好了中断线和GPIO的映射关系,然后又设置好了中断的触发模式等参数。既然是外部中断,设计到中断我们当然需要设置NVCI的中断优先级。 配置完中断优先级后,接着是编写中断服务函数。中断服务函数名字在MDK中事先有定义。但是不得不提的是,STM32的IO口外部中断只有6个,分别是:EXPORTEXT0_IRQHandle EXPORT-中断线0对应的中断函数EXT1_IRQHandle EXPORT-中断线1对应的中断函数EXT2_IRQHandle EXPORT-中断线2对应的中断函数EXT3_IRQHandle EXPORT-中断线3对应的中断函数EXT4_IRQHandle EXPORT-中断线4对应的中断函数EXT9_5_IRQHandle EXPORT-中断线5-9对应的中断函数EXT15_10_IRQHandle -中断线10-15共用的中断函数编写中断服务函数经常需要使用两个函数。第一个是判断某个中断线上的中断是否发生(即标志位是否置位):ITStatus EXTI_GetITStatus(uint32_t EXTI_line);/放在中断服务函数开头,监测中断标志位第二个是清除某个中断线上的中断标志位(即清除标志位):void EXTI_ClearITPendingBit(uint32_t EXTI_Line);/放在函数的结尾常用外部中断服务函数的格式:/格式一 void EXTI3_IRQHandler(void) If( EXTI_GetITStatus(EXTI_Line3)!-=RESET)/判断是否置位Dosomething();/执行中断事件EXTI_ClearITPendingBit(EXTI_Line3);/清零LINE上标志位 /=/格式二 void EXTI3_IRQHandler(void) If( EXTI_GetFlagStatus(EXTI_Line3)!-=RESET)/判断是否置位Dosomething();/执行中断事件EXTI_ClearFlag(EXTI_Line3);/清零LINE上标志位 /=区别:EXTI_GetITStatus()会先判断该中断是否使能,若使能了再判断中断标志位,而EXTI_GetFlagStatus()直接判断中断标志位是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 62683-2-2:2025 EN Low-voltage switchgear and controlgear - Product data and properties for information exchange - Engineering data - Part 2-2: Switchgear and controlgear
- 起重伤害专项事故演练档案
- 2026年中国家居行业发展展望及投资策略报告
- TCNIA-接触器用碲铜板编制说明
- K202409高起专《财政学原理(专科)》复习题
- 建发股份招聘笔试题库及答案
- 2025年度县委书记个人述德述职述廉报告
- 2025年作文训练考试题目及答案
- 重污染应急预案范文(3篇)
- 社会体育考试题目及答案
- 就业帮扶车间培训课件
- 制药工程导论课件第六章
- 泌尿外科发展简史
- 中医推拿按摩对膝关节病的疗效
- 中国老年患者术后谵妄防治专家共识
- 终身教育视野下人工智能赋能特殊职业教育的实践与探索
- 杭州市建德市公安局集中招聘警务辅助人员考试真题2024
- 温通刮痧技术操作流程图及考核标准
- 人教版小学一年级语文上册期末试卷(5份)
- 2025年宁波市水务环境集团有限公司招聘笔试参考题库含答案解析
- 真需求-打开商业世界的万能钥匙
评论
0/150
提交评论