这是博主的上一篇文章:一篇文章,从零教你LL库点灯
blog.csdn.net/qq_39897183/article/details/126494411
使用软件:CubeMX,KeilV5
开发板:淘宝买的核心板
这一章就跳过上一章的工程创建 直接开始按键吧
因为工程创建都是一样的 博主写的那么多STM32代码都是一样的工程创建方式
根据博主的原理图 我的核心板上有两种按键的触发方法 因为看LL库的基本都应该有标准库或者HAL库基础 所以博主会写的比较简略
我们接着在CubeMX上选择原理图上的PA0 设置为GPIO输入模式 这时候左边的GPIO那一栏就会出现PA0
这里其实和上一章一样 最下面的是GPIO别名 方便我们编写代码的 而中间是STM32内部的上下拉电阻 这里为什么博主选择了下拉 就是因为上一张图中的原理图里 PA0这个按键接的是3.3v 所以我们就可以用程序判断 PA0的电平是否升高了 如果是 那就证明按键被按下
接下来最简单的按键就被配置完毕了 生成并打开工程文件
打开后 在上一章所点亮的LED的基础上修改为这段:
就可以实现按下按键 这时候你就应该看见你STM32上的LED灯亮1s后熄灭
同时这里两次判断按键的电平是为了消抖
按键消抖:外部信号的输入。按键消抖主要针对的是机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,按键开关在闭合时不会立刻稳定的接通,在断开时也不会一下子断开。按键在闭合和断开的瞬间会有一连串的抖动,为了保证系统能够正确识别按键开关,必须进行消抖处理。
按键消抖分为硬件消抖和软件消抖,硬件消抖会使用额外的器件,占用空间,增加布局布线复杂度。这里讲的是软件消抖,适用于按键比较多的情况。
感谢读者阅读到这里 我是一个新手博主 您的点赞和关注会加大我创作的动力