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

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条回答
hobbye501
1楼-- · 2019-07-15 17:18
嵌套不对 记住 C语言只有一个main,main里面就一个while

int main (void)
{
  unsigned char i;
  unsigned char flag_key;
   while(1)
   {
        if(key1 == 0)
        {
            delay(10);                //消除抖动
            if(key1 == 0)
            {
                 i++;
                 if(i>2)
                 {
                    i = 0;
                    flag_key = 0;
                 }
                 else
                 {
                    flag_key = 1;
                 }     
            }
            else
            {

            }
        }
      if(flag==1)
     {
            LED = 0;             //0灯亮
            delay(50);
             LED = 1;            //1灯灭
             delay(50);
     }
    else
    {
        LED = 1;            //1灯灭
    }
   }
} 最佳答案

评分

参与人数 1积分 +5 收起 理由 ElecFans处女座 + 5 谢谢版主支持

查看全部评分

月倾浅
2楼-- · 2019-07-15 17:34
hobbye501 发表于 2017-2-15 16:32
嵌套不对 记住 C语言只有一个main,main里面就一个while

int main (void)

这个   if(flag==1)是什么?
菜鸟零零
3楼-- · 2019-07-15 22:46
hobbye501 发表于 2017-2-15 16:32
嵌套不对 记住 C语言只有一个main,main里面就一个while

int main (void)

这个i是做什么用的??另外,对于LED闪烁,改成:开头定义LED=0,然后闪烁那里写成 LED=!LED;delay(500);  可以不?

评分

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

查看全部评分

李春明
4楼-- · 2019-07-16 04:31
本帖最后由 王栋春 于 2017-2-15 21:08 编辑

对此不了解   学习一下           
1107764735
5楼-- · 2019-07-16 08:33
 精彩回答 2  元偷偷看……
葉落z
6楼-- · 2019-07-16 09:19
你用了死循环

评分

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

查看全部评分

一周热门 更多>