STM32 CuberIDE 中断

中断服务函数(Interrupt Service Routine, ISR)是嵌入式系统和操作系统中用于响应硬件或软件中断的特殊函数。当特定事件(如外部信号、定时器溢出、数据接收完成等)触发中断时,处理器暂停当前任务,跳转到对应的ISR执行处理逻辑,完成后恢复原任务。

1.中断服务函数的示例

实现LED_RED延时亮灭,LED_GREEN 按下KEY1按键实现亮灭

运行以上代码后发现LED_RED延时亮灭可以实现,而LED_GREEN 按下KEY1按键实现亮灭无法实现。是因为在while循环中每次执行if条件时会先进行HAL_Delay();延时,之后在进行if判断。这使得按键控制需要按下4秒后抬起才会判断执行亮灭。

为了按下KEY1马上实现 LED_GREEN亮灭又不改变HAL_Delay();延时功能就需要用到中断

在BP12口 GPIO GPIO mode 下选择下降沿触发

并且在BP12口 GPIO NVIC 设置中断优先级

打开Core文件 找到Src下的stm32f1xx_it.c 在void EXTI15_10_IRQHandler(void)函数里写入命令

至此通过外部中断实现按键控制LED的函数就完成了。

相关推荐
小叶子来了啊2 小时前
5Arduino 程序结构
单片机·嵌入式硬件
小叶子来了啊2 小时前
1Arduino 简介
单片机·嵌入式硬件
渡我白衣3 小时前
计算机组成原理(7):定点数的编码表示
汇编·人工智能·嵌入式硬件·网络协议·机器学习·硬件工程
雾岛听风眠3 小时前
电路板维修
单片机·嵌入式硬件
少一倍的优雅3 小时前
hi3863(WS63) 智能小车 (一) 简单介绍
单片机·嵌入式硬件·harmonyos·hi3863
Dillon Dong3 小时前
从C到Simulink:用Counter模块玩转嵌入式定时器
c语言·stm32·simulink
Vizio<3 小时前
STM32HAL库开发笔记-串口通信(UART)
笔记·stm32·嵌入式硬件
小幽余生不加糖4 小时前
步进电机、有刷直流电机以及无刷直流电机对比
笔记·单片机·嵌入式硬件·学习·能源
加成BUFF4 小时前
树莓派5-TB6612电机驱动模块完整实战教程
嵌入式硬件·pwm·树莓派5·tb6612·pwm波控制电机