基于STM32的EXTI外部中断实验设计与实现
83 浏览量
更新于2024-08-28
收藏 989KB PDF 举报
EXTI外部中断实验知识点
EXTI(External Interrupt)是STM32微控制器中的一个外部中断模块,用于处理外部事件的中断请求。下面是EXTI外部中断实验的知识点总结:
一、中断概念
中断是指CPU在执行一条指令时,突然收到一个高优先级的事件信号,要求CPU暂停当前的工作,转去处理该事件。中断全过程包括三个阶段:中断发生、中断处理和中断返回。
二、中断优先级
处理器根据不同中断的重要程序设置不同的优先等级。高级中断可以打断低级中断,而低级中断不能打断高级中断。
三、EXTI外部中断实验
实验目的:掌握EXTI的使用方法。
实验内容:按下USER按键触发外部中断EXTI14。实验现象:每按下一次USER按键,LD5灯显示反转一次。
四、STM32CubeMX配置
1. 目标选择:新建工程,选择MCU输入STM32L071KB。
2. 引脚分配:PC15引脚:GPIO_Output(输出模式),PC14引脚:GPIO_EXTI14(中断模式)。
3. 外设配置:PC15引脚配置为GPIO输出电平高,GPIO模式为推挽输出,GPIO上拉电阻/下拉电阻不上拉电阻/下拉电阻,输出速度为低。PC14引脚配置为中断模式,下降沿触发(按键按下时,由高电平变为低电平,下降沿)。
4. 时钟配置:时钟源为旁路时钟源,时钟频率为32MHz。
5. 工程配置:使用Keil5编写程序,选择STM32L071KBUx芯片,添加中断回调函数void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)。
五、中断服务程序
中断服务程序是指在中断发生时,CPU暂停当前的工作,转去处理事件B的过程。在本实验中,中断服务函数调用Callback函数void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin),该函数将LD5的状态反转。
六、HAL库函数解析
HAL库函数提供了一个通用的外部中断处理函数void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIOPin),该函数作为所有外部中断发生后的通用处理函数,所有外部中断服务程序均调用该函数完成中断处理。
EXTI外部中断实验的知识点包括中断概念、中断优先级、EXTI外部中断实验、STM32CubeMX配置、中断服务程序和HAL库函数解析。
413 浏览量
2166 浏览量
1560 浏览量
2024-04-21 上传
568 浏览量
901 浏览量
986 浏览量
weixin_38608688
- 粉丝: 3
- 资源: 934