怎么用一个按键按一次小灯不停闪烁,再按一次灭、

2019-07-15 11:58发布

                if(key2 == 0)
                {
                        while(1)
                        {
                                while(!key2)
                                delay(20);
                                while(!key2);{you = 0;delay(400);you = 1;delay(300);}
                        }
                }       

这是我写的,开了就关不掉。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
dong2213dong
1楼-- · 2019-07-16 14:16
月倾浅 发表于 2017-2-15 16:49
这个   if(flag==1)是什么?

很明显,是笔误,不是flag,应该是flag_key

评分

参与人数 1积分 +5 收起 理由 ElecFans处女座 + 5

查看全部评分

dong2213dong
2楼-- · 2019-07-16 15:36
菜鸟零零 发表于 2017-2-15 18:37
这个i是做什么用的??另外,对于LED闪烁,改成:开头定义LED=0,然后闪烁那里写成 LED=!LED;delay(500);  可以不?

i是用于计数的,二楼的程序有点小错误,他的逻辑应该是当i为奇数和偶数时flag_key进行状态转换,然后根据flag_key的状态改变LED灯的亮灭,你的思路是可以得,但不是LED =! LED; 语法不对,应该是 LED = ~LED;
hobbye501
3楼-- · 2019-07-16 16:49
月倾浅 发表于 2017-2-15 16:49
这个   if(flag==1)是什么?

这个是标志位 跳转用的
hobbye501
4楼-- · 2019-07-16 21:48
 精彩回答 2  元偷偷看……
hobbye501
5楼-- · 2019-07-17 01:16
dong2213dong 发表于 2017-2-16 08:01
很明显,是笔误,不是flag,应该是flag_key

恩 对的
hobbye501
6楼-- · 2019-07-17 02:28
dong2213dong 发表于 2017-2-16 08:08
i是用于计数的,二楼的程序有点小错误,他的逻辑应该是当i为奇数和偶数时flag_key进行状态转换,然后根据flag_key的状态改变LED灯的亮灭,你的思路是可以得,但不是LED =! LED; 语法不对,应该是 LED = ~LED;

恩 就是这个意思 其实最好用定时器做

一周热门 更多>