STMCU小助手
发布时间:2021-1-15 15:08
|
STM32 按键输入 |V1.0.0 LED灯的程序已经差不多了,咱们接下来可以写写别的一些东西了,比如按键的采集。 说到这个按键输入呀,我一直觉得挺难做的。实际运用的时候,真的比学的时候难多了。 大家想想呀,按键,有单击,双击,甚至三击,多击。单击,又分短按,长按。 其中,除了单击,其他的都需要计算时间,双击的间隔多少时间才合适,短按和长按的时间也需要考虑。细想起来,这个按键采集真的不是简单的事。 今天呢,就从简单的单击开始设计。 一个键的单击功能,我想大家基本也知道该怎么写,就是读IO口的电平,IO有信号了,就处理相应的程序。 IO初始化时,我们需要将IO口的模式设置为输入模式,并需要定时去读取该IO的信号。 同样的,咱们依然用正点原子的硬件,这次咱们只用一个按键。
按键的硬件
按键挂载的IO口 从硬件上就知道,按键按下,IO口就是低电平,由于外部电路没有上拉电阻,我们要把IO口模式设为上拉输入。
还有,读取IO的值,有信号输入时,输出1,
然后,咱们设置一个循环函数,按一下按键,切换一次LED的模式。 我们把这个函数放在10ms的循环里,这样,就相当于每10ms读一次IO口的值,可以不需要延时来防抖。
当然,主函数也是要做相应的修改的,加入KEY的初始化函数,以及KEY的循环函数。 我们先设置LED使能,并设置LED的故障码为5。然后开始执行程序。
这样就可以了。 今晚就不放视频了,先到这里,明天见。 文章出处: Yue無缺 |
微信公众号
手机版