当前位置: 首页 > news >正文

深入解析:STM32——按钮实验

使用一枚按钮去切换板载led的亮灭状态,每按下一次按钮,板载led的亮灭状态切换一次。

软件部分

板载led连接PC13,采用开漏接法(上面的MOS一直断开),PA0接按钮,把PA0设置为输入上拉模式。松开按钮PA0被上拉电阻拉到高电压,按下按钮,PA0通过按钮接地。当我们按下按钮的时候led亮灭状态没有变化,当松开时候才有变化。

因此需要捕捉按钮变化的瞬间,pre保存按钮上一次的值,cur保存按钮当前的值,然后使用蓝色虚线保持当前时刻,不断更新pre和cur的值,当pre和cur相等,代表按钮状态没有变化,pre和cur不相等,表示捕捉到按钮变化瞬间。接着进一步判断,捕捉到了按钮按下还是抬起的动作。如果像现在这样,cur=0,则表示按钮按下,反之,按钮松开。

首先声明两个变量:pre和cur,0表示按下,1表示松开,给pre和cur都赋初值1,表示按钮是松开的。在while循环内部,不断更新pre和cur,pre就是上一个时刻cur的值,直接赋值更新, cur的值就是读取PA0引脚状态,调用HAL_GPIO_ReadPin读取PA0的电压,要是读到高电压cur=1,反之为0。接着判断pre和cur是否相等,不相等说明捕捉到了按钮变化瞬间,进一步判断是按钮按下还是抬起,cur=0为按下,反之为抬起。

需要达到的效果是,按下按钮的时候led状态保持不变,抬起按钮瞬间,led切换亮灭状态,因此,应该把切换led亮灭的代码写在else里面。运用led_state保持led当前状态,0表示熄灭,1表示点亮。如果当前led点亮,就熄灭,并更新led_state的值,假设led熄灭,就点亮,也更新led_state的值。

把这些代码烧录进单片机,有时候会发现代码失灵,这是由于按键抖动引起的,使用软件进行消抖,在理想情况下,当按下按钮,引脚上的电压从高电压变成低电压,当松开按钮,引脚上的电压从高电压变成低电压,但实际上,按钮存在抖动,会造成多次触发,而按钮的抖动时间,一般不会超过10ms,因此,监测到按钮动作之后,延迟10ms就可以了。

硬件部分

参考这篇文章,写得特殊好

深度解析嵌入式开发中的按键去抖技巧 – 吴川斌的博客

提炼重点写在这里,在使用单掷开关时,采用RC网络后接施密特反向触发器构建硬件上的消抖,开关松开处在稳定状态时,A处电平被拉高为高电平,施密特触发器输出低电平。当按钮按下时,电容通过R41放电, A处的电压从高电平下降到低电平,放电时长由RC控制,在A处电压降低到施密特反向触发器的低电平阈值Vth-后,输出Y翻转为高电平,这个放电时长刚好弥补了按钮的跳变时间,所以奏效实现了硬件的消抖。按钮松开同理,这里不再次赘述。

http://www.jsqmd.com/news/294539/

相关文章:

  • 论文答辩时,评审组导师一旦开始问问题,通常会问哪些问题?
  • 多线程核心知识
  • 2025年有实力的户外led大屏广告公司承包商找哪家,公交广告/地铁广告/广播电台广告,户外led大屏广告公司排行
  • 一个月内面了30家公司,薪资从18K变成28K,真行啊····
  • 面了十几家公司测试岗,我终于悟了,面试无非就是这些题
  • 2026年深圳企业邮箱注册公司推荐:深圳市聚诚在线科技有限公司,企业邮箱/企业域名/网易企业邮箱/企业邮箱管理公司精选
  • 嵌入式 C++ 高性能流式架构的设计
  • 河南鑫味源之源:匠心调味,香飘万家 docx
  • 主流GEO服务商能力全景图谱,垂直行业GEO解决方案商
  • 2026高中辅导大揭秘:靠谱机构全解析
  • 河南鑫味源之源调味品:豫南味魂,调出百味鲜香
  • 2026年湖北短视频拍摄制作服务商权威推荐榜:短视频运营 /短视频拍摄 /短视频拍摄运营 /短视频运营方案 /短视频拍摄合作 /短视频运营技巧服务商精选
  • 河南鑫味源之源调味品:大盘鸡料领衔 豫味调味新标杆
  • Claude Code SKill
  • 高中辅导哪家靠谱?这篇攻略帮你避开90%的坑
  • OFFSET动态可视化:WPS表格灵活提取多行多列数据
  • 读研方法-2026
  • Device (P2P0)下的子节点Device (S7F0)不存在
  • 2025 网安就业指南!国数基安全紧缺,内网渗透 / AI 安全缺口 200 万
  • 重跑五国
  • 文件管理知识点 - 指南
  • 2026 GEO服务商全景解析,主流GEO服务商能力全景图谱
  • 初中辅导机构怎么选?这3家性价比之王帮你省心上分!
  • Redis复盘总结
  • 2026必备!研究生必用TOP8 AI论文写作软件深度测评
  • 【软件测试】1_性能测试实战 _商城项目介绍
  • 震惊!特斯拉9个月迭代AI芯片,混合精度桥接器技术让8位硬件跑出32位精度!程序员必学!
  • 【软件测试】2_性能测试实战 _项目环境搭建
  • AI预测未来翻车实录!复旦等高校推出FutureOmni基准,大模型准确率仅64.8%!程序员必看如何突破未卜先知瓶颈
  • 初中升高中冲刺辅导机构怎么选?这篇攻略帮你避坑拔草