独立按键控制灯的问题

2019-03-24 17:25发布

自己写的程序,独立按键控制一个LED灯,按下键后灯亮了,然后再按一下就灭了,但是出现了,按键亮了之后,再按键就灭不了的问题,多按几次才会熄灭这是什么原因,是程序问题吗? (511{230A%I7%VU3GE}FLGT.png
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
ienglgge
1楼-- · 2019-03-25 18:20
定义一个变量,按键按下,就开始加,加到某个数值,认为是稳定按下,按键抬起,就清零。试试。你现在延时的时间远远超过判断的时间,效率低。
zl2168
2楼-- · 2019-03-25 23:27
 精彩回答 2  元偷偷看……
537224
3楼-- · 2019-03-26 02:33
你试着把:while(K1==0) L0=~L0,改为 L0=~L0;while(!K1);

意思是,判断K1为0,延时去抖动后,就将状态改变,改变完了要做一个松手检测,

当K为0时,非0为真,后面有分号,所以程序一直执行while语句,当松手了K1为1,非1为假,跳出while,

再下次按也一样的,这样,你按一次,只执行一次。没有松手检测,你按一次,程序可能走了几次了,出错。
537224
4楼-- · 2019-03-26 07:28
或把while(K1==0)加个分号,while(K1==0);
zrb5688
5楼-- · 2019-03-26 13:07
 精彩回答 2  元偷偷看……
松恒电子
6楼-- · 2019-03-26 13:49
楼主你可以用这种按键回去自己试验一下  哈哈哈

一周热门 更多>