基于STM32的EXTI外部中断实验设计与实现

1 下载量 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库函数解析。