久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2771|回復: 6
打印 上一主題 下一主題
收起左側

求寫一段簡單循環代碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:242890 發表于 2017-11-12 14:31 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
當按鍵按下時,flag=1,當flag=1時,一直循環做某個函數

我是這樣寫的:

void anjian()
{
    if(key==0)
        {
              delay(5); //延時5ms
              if(key==0)
                  flag=1;
        }

}

void main()
{
    anjian();
    while(flag==1)
        {
            **();    //某個函數
        }
}

我這樣寫每次都只是執行一次,只有 while(flag==1) 改成 while(1) 才能無限循環,這是為什么,如果我要用flag的值來循環,應該怎樣寫
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:212797 發表于 2017-11-12 16:26 | 只看該作者
while(flag==1)的意思是:當flag=1條件成立的時候才能執行循環,flag=0或者等于其他值,這個條件就不成立;
while(1),由于1是一個非零值,邏輯上判斷為真,所以條件一直都是成立的,換句話說,這就是一個死循環,程序會一直在里面循環執行;
main()主函數開始執行后,在那么快的時間內,很難把按鍵按下將flag置1,程序到while之后判斷為假,就會直接跳過,然后停下來不動了。
如果要用flag值做判斷,可以把程序修改為:
void main()
{
    while(1)
     {
           anjian();
           if (flag)
           {
                   **();    //某個函數
           }   
        }
}
回復

使用道具 舉報

板凳
ID:225732 發表于 2017-11-12 20:03 | 只看該作者
1、按鍵檢測檢測要在循環中檢測,或者放中斷里檢測
2、flag在按鍵松開要及時置0
以下我為你改動的程序
void anjian()
{
    if(key==0)
        {
              delay(5); //延時5ms
              if(key==0)
                  flag=1;
        }
     else flag=0;   //按鍵松開,flag=0,不執行某個程序
}

void main()
{   
    while(1)
    {
       anjian();   //循環檢測按鍵,你原程序放外邊只會執行一次
       if(flag)
      {
         **();    //某個函數
        }
}
回復

使用道具 舉報

地板
ID:242890 發表于 2017-11-13 12:08 | 只看該作者
包包大人在此 發表于 2017-11-12 20:03
1、按鍵檢測檢測要在循環中檢測,或者放中斷里檢測
2、flag在按鍵松開要及時置0
以下我為你改動的程序

你這樣不對啊,我是要一直循環這個函數,你這樣是按一次動一下
回復

使用道具 舉報

5#
ID:242454 發表于 2017-11-13 16:50 | 只看該作者
FLAG==1,是只有FLAG和1相等的時候才執行WHILE里面的程序,如果只給1那就是一直為真,可以一直死循環
回復

使用道具 舉報

6#
ID:248551 發表于 2017-11-13 18:37 | 只看該作者
void anjian()
{
    if(key==0)
        {
              delay(5); //延時5ms
              if(key==0)
                  flag=1;
        }

}

void main()
{
    flag=1;
    while(flag==1)
        {

          anjian();
            **();    //某個函數
        }
}

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品v| 男人天堂社区 | 一级做a| 毛片网在线观看 | 国产精品一码二码三码在线 | 久久国产日本 | 欧美一级特黄aaa大片在线观看 | 欧美中文在线 | 国产性生活一级片 | 午夜羞羞 | 国产免费一区二区 | www.亚洲国产精品 | 在线视频a | 国产精品久久久久久影视 | 中文字幕一区二区三区在线观看 | 干干干操操操 | 久久国产精品精品 | 一区二区三区四区国产 | 欧美精品一区三区 | 亚洲精品 在线播放 | 国产天堂| 国产精品毛片久久久久久久 | 国产精品视频一区二区三区 | 国产蜜臀97一区二区三区 | 精品久久久久久 | 精品国产乱码久久久久久蜜臀 | 国产黄色大片 | 亚洲视频一区二区三区 | 一级毛片视频在线观看 | 国产亚洲欧美日韩精品一区二区三区 | 日韩一区二区三区视频在线播放 | 香蕉超碰 | 91精品国产综合久久婷婷香蕉 | 亚洲一区二区网站 | 中文字幕av在线 | 99re视频在线免费观看 | 中文字幕一区二区三区精彩视频 | 国产日韩免费观看 | 亚洲午夜精品一区二区三区他趣 | 九九综合 | 亚洲黄色一级毛片 |