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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2756|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精选久久 | 91毛片在线看 | 欧美一区二区三区在线观看视频 | 亚洲日本免费 | 精品视频导航 | 国产精品久久 | 国产精品国产三级国产aⅴ原创 | 日韩手机视频 | 毛片国产 | 国产日韩欧美在线观看 | 成人亚洲视频 | 欧美888| 国产91丝袜| 国产9 9在线 | 中文 | 日韩免费在线 | 五月网婷婷 | 久久精品视频91 | 欧美色综合| 一级在线观看 | av天空| 狠狠操狠狠干 | 男女视频在线免费观看 | 污片在线观看 | 日韩一区二区三区视频 | 日韩中文字幕在线观看视频 | 一区在线免费视频 | 国产精品视频一区二区三区, | 1204国产成人精品视频 | 中文字幕一区二区三区乱码图片 | ririsao久久精品一区 | 国产在线精品一区二区三区 | 欧美成人综合 | 一本一道久久a久久精品综合 | 国产精品毛片av | 天天干狠狠操 | 亚洲少妇综合网 | japanhdxxxx裸体| 成人精品一区二区 | 99热.com| 亚洲精品第一页 | 欧美一级在线 |