热门

最新

红包

立Flag

投票

同城

我的

发布
weixin_38504503
鸡蛋车
3 年前
trueweixin_38504503

按键消抖
​
​机器设备上的按钮,是控制指令的输入。
​跺一下脚,打一声雷,手机来个电,都会触发输入,机器因此会发疯。
​对于转瞬即逝的窜扰信号,机器开关有硬件滤波,就是在开关(按钮)上并一个电容,拉高补低。
​机器的软件,要对按键进行消抖。
​消抖的基本原理:
​读你,暂且存下。
​过10毫秒,再次读你,
​如果两次的键值一样,
​那就当真了,
​更新按键的值。
​uint8_t Xin(uint8_t Port)
​{
uint8_t First_Value=Read_Key(Port);
HAL_Delay(10);//延时10毫秒
uint8_t Second_Value=Read_Key(Port);
if(Second_Value==First_Value)
return First_Value;
else return Second_Value;
}
​这是硬延时,按键消抖时,CPU在埋头计数,干不了别的事。
​触摸屏会迟钝。
​旋钮会间断性失效。
​用do while实际和delay()一样。
​用定时器失效?

CSDN App 扫码分享
分享
评论
点赞
打赏
  • 复制链接
  • 举报
下一条:
动物园一顿狂逛…
立即登录