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的函数就完成了。

相关推荐
嵌入式吴彦祖4 分钟前
Luckfox Pico Ultra W WIFI
linux·嵌入式硬件
ipod7415 小时前
电子电路的元器件
单片机·嵌入式硬件
清风6666665 小时前
基于单片机的脉搏与呼吸监测报警设备设计与实现
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
Hello_Embed5 小时前
嵌入式上位机开发入门(十九):Socket 状态检测与断线重连
网络·单片机·网络协议·tcp/ip·嵌入式
foundbug9996 小时前
STM32 内部温度传感器测量程序(标准库函数版)
stm32·单片机·嵌入式硬件·算法
天狼IoT6 小时前
STM32-keil+CubeMX快速开发:新建项目
stm32·单片机·嵌入式硬件
Tomhex6 小时前
STM32型号命名解析
stm32
gihigo19987 小时前
量程自动切换数字电压表Proteus仿真+程序
单片机·嵌入式硬件·proteus
木燚垚7 小时前
基于STM32的智能衣柜系统设计与实现——温湿度调控+烟雾报警+远程监控
stm32·单片机·嵌入式硬件
才知道的8 小时前
stm32F407学习DAY.27 ADC
stm32·嵌入式硬件·学习