完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32 IO口中断
Title:STM32单片机系列(三) Date: 2020-2-22 Author: Page Categories: -单片机 Tags: -STM32F407 中断 STM32 F4 的每个 IO 都可以作为外部中断的中断输入口,这点也是 STM32 F4 的强大之处。 STM32 F407 的中断控制器支持 22 个外部 中断事件请求。每个中断设有状态位,每个中断事件都有独立的触发和屏蔽设置。 STM32 F407的 22 个外部中断为: EXTI线 0~15 :对应外部 IO 口的输入中断。 EXTI线 16 :连接到 PVD 输出。 EXTI线 17 :连接到 RTC 闹钟事件。 EXTI线 18 :连接到 USB OTG FS 唤醒事件。 EXTI线 19 :连接到以太网唤醒事件。 EXTI线 20 :连接到 USB OTG HS( 在 FS 中配置 唤醒事件。 EXTI线 21 :连接到 RTC 入侵和时间戳事件。 EXTI线 22 :连接到 RTC 唤醒事件。 下面来重点介绍IO口的一些中断: 如图所示: 其中每一个中断线可以映射多个IO口,但是同组IO口里面一次只能有一个IO口占用中断线。如(PA0-PG0)是一组可以映射到中断线EXTI0但是一次只能有其中的一个IO口映射上去。 每一个中断线可以设置它的触发方式(上升沿触发,下降沿触发,边沿触发,上升沿和下降沿都可以触发)和使能位状态位。 IO在外部中断向量里面只分配了7个中断服务函数0,1,2,3,4,5-9,10-15 中断的基本配置方法: 1. 首先使能对应的时钟线: RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);IO中断是挂载在APB2时钟线上的,通过设置ENABLE使能IO口时钟 2. 初始化中断: 第一个成员EXTI_Line 配置中断线, 第二个成员EXTI_Mode 分为了事件触发和中断触发俩种: EXTI_Mode_Event EXTI_Mode_Interrupt 第三个成员EXTI_Trigger 设置中断触发方式: EXTI_Trigger_Rising 上升沿触发 EXTI_Trigger_Falling 下降沿触发 EXTI_Trigger_Rising_Falling 上升下降沿同时触发 第四个成员EXTI_LineCmd 使能对应的中断线: ENABLE 使能 DISABLE 失能 3. 接下来配置中断向量: 第一个成员NVIC_IRQChannel 配置对应的中断通道: 可在IRQn_Type中查询对应的中断方式,由于数目太多在这里不一一列举 第二个成员NVIC_IRQChannelPreemptionPriority 配置该中断的抢占优先级: 抢占优先级分为四种用俩位二进制数表示 00 01 10 11 其中00最大 第三个成员NVIC_IRQChannelSubPriority 配置该中断的响应优先级: 同抢占优先级一样分为4种数字越大优先级数越低 第四个成员NVIC_IRQChannelCmd 使能对应中断向量组: ENABLE 使能 DISABLE 失能 配置完以上就可以自由配置函数EXIT_IRQHandler()对应的中断服务函数(发生中断就跳转至函数里面)来达到自己想要的目的。 最后介绍几个关于中断的函数: EXIT_GetITStatus()判断中断线上的中断是否发生。 EXIT_ClearITPendingBit()清楚对应线上的中断标志位。 RCC_APB2PeriphClockCmd()使能对应中断的时钟。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1617 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1543 浏览 1 评论
977 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
683 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1595 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
644浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
515浏览 3评论
531浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
504浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 06:17 , Processed in 0.897113 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号