一、STM32Cube配置项目
1.引脚设置
A4输出控制灯的亮灭,设置为GPIO_Output A1持续输出高电平,设置同上 A7持续输出低电平,设置同上 C13个人习惯开启做测试用,设置同上 B5模拟开关,设置为GPIO_EXTI5
2.配置EXIT
3.配置SYS
4.配置GPIO
把A1配置为高电平、A7配置为低电平 把B5中断配置为上升沿和下降沿都触发
User Label可以为当前引脚设置一个别名,方便后续自己调用。
5.代码创建
6.创建项目
二、KEIL配置代码
在stm32f1xx_hal_gpio.c中找到HAL_GPIO_EXTI_Callback这个函数,重写该函数
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){ if(GPIO_Pin == SWITCH_Pin){ //获取B5的电位 GPIO_PinState pinState = HAL_GPIO_ReadPin(SWITCH_GPIO_Port,SWITCH_Pin); //低电位 if(pinState==GPIO_PIN_RESET) HAL_GPIO_WritePin(LED_A4_GPIO_Port,LED_A4_Pin,GPIO_PIN_RESET);//把A4变为低电位 //高电位 else HAL_GPIO_WritePin(LED_A4_GPIO_Port,LED_A4_Pin,GPIO_PIN_SET);//把A4变为高电位 } }
编译烧录