一、中断模式点亮LED
(一)创建工程
1)打开cubemx,新建工程
选择芯片STM32F103C8
2)System Core->RCC->High Speed Clock(HSE)->Crystal
3)SYS->Serial Wire4)PA1接LED,选择Output
5)PB1接开关,选择EXTI
6)选择上升沿触发
7)选择该中端口
8)如图示配置时钟
9)命名及选择编译器
(二)编写代码
1)打开工程
2)代码
在图示位置加入代码
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
for(long i = 1;i<72000;i++){}; //消除抖动
if(HAL_GPIO_ReadPin(switch_GPIO_Port,switch_Pin)==1)
{
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
}
__HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
}
(三)硬件连接及烧写
1)硬件连接
LED长脚接PA1,短脚接地
开关一端接3.3,一端接PB1
2)烧写
3)效果图
二、总结
使用中断的方式点亮LED,初步了解了中断机制,可以较为方便的使用达到所需功能。
三、参考
https://blog.csdn.net/m0_58414679/article/details/121060073?spm=1001.2014.3001.5501
https://blog.csdn.net/qq_46467126/article/details/121055475