一、Cortex-M4外部中断
实验目的
基于STM32MP57A,使用STM32 CubeIDE软件工具完成开发板上K2按键外部中断的方式控制版上LED灯亮灭操作
二、实验步骤
1.实验原理
按键K2
LED灯
LED灯的GPIO接口
2.实验步骤
外部中断配置步骤:
- 设置PA0为外部中断模式,PZ6为GPIO输出模式
- IDE会生成GPIO的Init初始化程序以及HAL库
- 在GPIO-PA0管脚初始化后,增加中断优先级设置HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority)和中断使能HAL_NVIC_EnableIRQ(IRQn_Type IRQn)
- EXTI0_IRQHandler(启动文件startup_stm32mp15xx.s)中设置中断处理的管脚HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0)
- main函数中需要定义中断处理的回调函数void HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin)判断管脚PA0的状态来做LED的状态变化操作,这个函数是在按键中断触发后调用HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0)中调用回调函数实现LED控制。
部分代码如下:
1. 中断触发后入口函数
void EXTI0_IRQHandler(void)