STm32F103 外部中断干货

本文介绍了STM32F103的外部中断分组及特性,强调了其19个外部中断/事件请求,详细阐述了配置过程,包括触发源GPIO口设置、AFIO复用时钟使能、中断线映射、中断初始化、优先级配置和中断服务函数编写。还特别提及了使用GPIO口连接按键时的延时消抖和松手检测处理。
摘要由CSDN通过智能技术生成

一、STM32中断分组:

  STM32 的每一个GPIO都能配置成一个外部中断触发源,这点也是 STM32 的强大之处。STM32 通过根据引脚的序号不同将众多中断触发源分成不同的组,比如:PA0,PB0,PC0,PD0,PE0,PF0,PG0为第一组,那么依此类推,我们能得出一共有16 组,STM32 规定,每一组中同时只能有一个中断触发源工作,那么,最多工作的也就是16个外部中断。STM32F103 的中断控制器支持 19 个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置。STM32F103 的19 个外部中断为:

线 0~15:对应外部 IO 口的输入中断。

GPIO引脚 中断标志位 中断处理函数
PA0~PG0 EXTI0 EXTI0_IRQHandler
PA1~PG1 EXTI1 EXTI1_IRQHandler
PA2~PG2 EXTI2 EXTI2_IRQHandler
PA3~PG3 EXTI3 EXTI3_IRQHandler
PA4~PG4 EXTI4 EXTI4_IRQHandler
PA5~PG5 EXTI5 EXTI9_5_IRQHandler
PA6~PG6 EXTI6  
PA7~PG7 EXTI7
STM32F103系列的外部中断是通过EXTI(External interrupt/event controller)模块来实现的。该系列的中断控制器支持19个外部中断事件请求,其中线0-15对应外部IO口的输入中断,线16连接到PVD输出,线17连接到RTC闹钟事件,线18连接到USB唤醒事件。每个中断事件都有独立的触发和屏蔽设置。\[2\] STM32F103的每个IO口都可以作为外部中断中断输入口。中断线0-4每个中断线对应一个中断函数,中断线5-9共用中断函数EXTI9_5_IRQHandler,中断线10-15共用中断函数EXTI15_10_IRQHandler。每个中断线对应了最多7个IO口,需要通过配置来决定对应的中断线配置到哪个GPIO口上。\[2\] 在配置外部中断时,需要进行映射关系的配置。每个外部中断线对应一个外部中断通道和一个外部中断服务函数。具体的映射关系可以参考引用\[3\]中的表格。同时,还需要对GPIO引脚进行配置,将对应的中断线映射到相应的GPIO口上。\[3\] 总结来说,STM32F103外部中断功能可以通过配置EXTI模块和GPIO口来实现,可以根据需要选择不同的中断线和GPIO口进行配置。 #### 引用[.reference_title] - *1* *3* [STM32F103标准库开发:外部中断(EXTI)实验](https://blog.csdn.net/MQ0522/article/details/121491547)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [STM32F103外部IO中断](https://blog.csdn.net/zht_2000/article/details/103556506)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值