stm32:用中断检测按钮是否按下 核心痛点使用中断时使用HAL_Delay会让系统卡死我们需要别的消抖方式解决办法在按键的EXTI中断中仅标记flag并启用一个定时器用其来计时20ms具体实现1、GPIO配置PE4用户标签KEY0模式GPIO_EXTI4下降沿触发上拉2、定时器配置TIM2,Internal Clock,Prescaler:72-1,Counter Period:20000-1,NVIC使能中断3、代码//USER CODE BEGIN PV volatile uint8_t key_flag 0//USER CODE BEGIN 4 void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { if (GPIO_Pin KEY0_Pin) { if (key_trigger 0) // 防止重复触发 { key_trigger 1; HAL_TIM_Base_Start_IT(htim2); // 启动 20ms 消抖定时器 } } } void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { if (htim-Instance TIM2) { HAL_TIM_Base_Stop_IT(htim2); // 停止定时器 key_trigger 0; // 清除触发标志 // 消抖后读取真实电平 if (HAL_GPIO_ReadPin(KEY0_GPIO_Port, KEY0_Pin) GPIO_PIN_RESET) { //按下按钮后进行的操作 } } }

相关新闻

最新新闻

大模型重塑创作流程:从生产者到判断者的工程实践

大模型重塑创作流程:从生产者到判断者的工程实践

今天聊一个听起来有点冒犯的话题:AI 是否正在把“创作者”这个词从人类词典里删除。艺术家 ZHO 在讨论 AI 与艺术创作的关系时,提出了一个更尖锐的判断——“AI 将人类从人类性中开除”。这里的“人类性”,不是一个生理概念,而是指…

2026/8/31 22:46:03
论文选题的核心原则、常见误区及高效确定适配研究方向的实用方法解析

论文选题的核心原则、常见误区及高效确定适配研究方向的实用方法解析

最近,国家自然科学基金和国家自然科学基金青年科学基金的评审结果陆续公布。有人成功获批,开始准备后续研究;也有人暂时没有通过,需要根据评审意见重新梳理研究方向和申请书。无论结果如何,基金申请都不是临时抱佛脚&a…

2026/8/31 22:46:03
STM32MP257-DK裸机烧录:从cortex-m3报错到CubeIDE配置全解析

STM32MP257-DK裸机烧录:从cortex-m3报错到CubeIDE配置全解析

最近频繁看到有人在社区问“how to flash stm32mp257-DK in baremetal with cube ide”,这个标题看起来是个新手问题,但真的上手才知道,它踩坑的点比想象中多得多。我在给这块板子烧裸机程序时,就连续撞上“Error: flash download…

2026/8/31 22:46:03
DMA地址+偏移量机制详解:从ADC多通道采样到串口环形缓冲区

DMA地址+偏移量机制详解:从ADC多通道采样到串口环形缓冲区

做嵌入式这两年,凡是接触过串口、ADC、SPI这类外设的人,八成都被一个问题绕进去过:为什么DMA启动的时候不是从缓冲区的头开始传,而是要从某个“地址加上偏移量”的地方开始?尤其是当你打开参考手册或者某个驱动库的API…

2026/8/31 22:46:03
锂电池容量特征提取:NASA老化数据集Matlab处理全流程

锂电池容量特征提取:NASA老化数据集Matlab处理全流程

简介:本资源面向锂电池健康状态分析、剩余使用寿命预测等研究方向的科研人员与工程技术人员,提供一套基于NASA公开电池数据集的容量特征提取完整解决方案。资源包含Matlab可直接运行的主程序rongliangtiqu.m、4个原始.mat实验数据文件(对应B0…

2026/8/31 22:46:03
STM32F030上LwIP TCP服务崩溃?结构体对齐是元凶

STM32F030上LwIP TCP服务崩溃?结构体对齐是元凶

先说个结论:如果只是 TCP Echo Server 跑通一次收发,你大概率遇不到这篇文章要聊的问题;真正让人头疼的是程序稳定运行几分钟后突然崩溃,或者把报文长度一加大就必然崩,而抓包工具里的报文看起来完全正常。我这次就是被…

2026/8/31 22:41:03