单片机按键松手检测

单片机按键松手检测,第1张

电机

代码放

等待按键松手

while()

即松手

再进行电机控制

if(!KEY1)

//检测按键按

{

DelayMs(200)

//

if(!KEY1)

//检测按键确实按

进行按键处理

{

while(!KEY1);

//等待按键松手

Coil_A1

//遇

Coil_A1

用{A1=1B1=0C1=0D1=0}代替

DelayMs(Speed)

//改变

参数

调整电机转速

Coil_B1

DelayMs(Speed)

Coil_C1

DelayMs(Speed)

Coil_D1

DelayMs(Speed)

}

}

因为while(K==0),会在

按键持续按下的时候,导致系统瘫痪,所以加了个按键时间限制,如果持续按下超过

500ms,也就不等待松手了。

这跟“把耳朵堵上就没有声音了”是一个道理的,while(K==0)的松手检测本来就是个错误的方法,不去想办法去掉while(K==0),倒去跟while(K==0)加个华丽的外表,也不知道这是哪个家伙想出来的“弥补”方法。

忠告:这烂程序,不仅存在

Delay

的巨大损耗,还存在

while(K==0)这种潜在的死循环(虽然加了个华丽的外表有所改善),劝LZ

早日放弃该想法,否则他日必定受此荼毒!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8062743.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存