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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機C語言程序搞不懂為什么經常選擇NUM = 0;難道真的判斷失敗嗎?

[復制鏈接]
跳轉到指定樓層
樓主
ID:103131 發表于 2022-4-22 15:01 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  void AD_TEST(void){

  Fireset = 0;

     if(num == 200)
          {
                        num = 0;
                  
                        if(fdaiti<4)
                        
                  {
                          fdaiti++;
                  }
         
           
         }
           

        
         if(KEY_INFO==0 && locks2==2)
                   {
                            locks2=1;        
                            change2++;
                              //printf(" locks2 = %d\r\n",locks2);
                         //  printf(" change2 = %d\r\n",change2);
                         }
                        if(change2>3){change2=1;}
                          
                  

                           if(KEY_INFO==1)
                        {        
                                locks2=2;        
                        }        
                                                   
                  if(change2 == 1)
                                                                {               
                                                                        ZERO_MODE(fdaiti);
                                                                }
                                                                    
                      if(change2==2)
                        {
                                 
                                                         ZERO_MODE(fdaiti);
                                                  
                        }
                                                                                                                                       
                                                
                                       
                                          if(change2 == 3)
                                          {
                                                        num2++;
                                                            if(num2 == 100)
                             {
                                        num2 = 0;
               
                                      GET_AD = Get_AD(CHANNEL_0);
               
                                      APEI = abs(GET_AD*15/1023+6-28);
                                                              
                                                    }
                                                                                            
                                                              LCD_OUT(APEI);
                                                                                           printf("APEI =  %d\r\n",APEI);         
                                          
                                          
                         }
                                       
                                                               
                                
                           
                   if(fdaiti == 0)
                      {
                         if(IN_S == 0)
                                                 {
                                                         RELAY_SWITCH();
                                                           fdaiti = 1;
                                                           //printf("IN_S =  %d\r\n",IN_S);
                                                           
                                                           FAULT = 0;
                            Lgnition2 = 0;                 
                             V1 = 0;
                             Lgnition = 0;
                             WORK = 0;
                                                 }
                                                 else
                                                 {
                                                         
                                                         num = 0;
                                                         //printf("num =  %d\r\n",num);
                                                 }

                       }
             else if(fdaiti == 1)
               {
                                         
                                            if(APEI > 5)
                                                 {
                             fdaiti = 2;
                                                 }
                                                 else
                                                {
                                                         alarm = 1;
                                                 }
               }
                  else if(fdaiti == 2)
               {
                          if(APEI >15)
                                                        {
                                                                //RELAY_SWITCH();
                                             
                                                                V1 = 1;
                                                               
                                                                Lgnition2 = 1;
                                              Lgnition = 1;
                                             
                                                        }
                                                        else
                                                        {
                                                                alarm = 1;
                                                        }
               }
                 else if(fdaiti == 3)
               {
               
                        
               }
         
                  else if(fdaiti == 4)
               {  
                 
                        
                           
                           
               }
         

}
請問各位大神幫我解決,if經常選擇否則那項,而不是選擇第一行


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:139866 發表于 2022-4-22 15:32 | 只看該作者
不明白程序里寫那么多fdaiti是什么意思?建議你先提升素質,再提升技術

評分

參與人數 1黑幣 +9 收起 理由
AAA_MCU + 9

查看全部評分

回復

使用道具 舉報

板凳
ID:103131 發表于 2022-4-22 15:41 | 只看該作者
天ノ憶 發表于 2022-4-22 15:32
不明白程序里寫那么多

fdaiti變量指的是定時器跑數碼管的數值
回復

使用道具 舉報

地板
ID:103131 發表于 2022-4-22 15:41 | 只看該作者
天ノ憶 發表于 2022-4-22 15:32
不明白程序里寫那么多

if(num == 200)
          {
                        num = 0;
                  
                        if(fdait<4)
                        
                  {
                          fdaiti++;
                  }
         
           
         
回復

使用道具 舉報

5#
ID:824490 發表于 2022-4-22 15:49 | 只看該作者

建議變量名要有實際意義,這樣后來者能明白代碼的本意,不然就讓人笑話了。
你這個變量用別的改一下吧,哪怕是拼音SMG_RUN_TIME都行。
回復

使用道具 舉報

6#
ID:401564 發表于 2022-4-22 16:36 | 只看該作者
goldbirderman 發表于 2022-4-22 15:41
if(num == 200)
          {
                        num = 0;

是不是還有變量名叫s某的?
或者是叫d某
數碼管的值哪怕是叫shu_ma_guan
它也行呀,沒有規定要英語的吧
用啥不好,非得f某某
回到正題:
==是查找,如果這個變量在其它地方被改變,一旦錯過了就沒了,如果不是循環,那就永遠找不著了
>=是比較,如果這個變量在其它地方被改變,最多就差一兩個數字量,程序邏輯沒有變化的
回復

使用道具 舉報

7#
ID:103131 發表于 2022-4-22 16:44 | 只看該作者
Y_G_G 發表于 2022-4-22 16:36
是不是還有變量名叫

謝謝大家 隨便使用,只是拿來做測試,到正式用不是這樣名稱
回復

使用道具 舉報

8#
ID:491577 發表于 2022-4-24 20:29 | 只看該作者
使用switch()語句,方便理解。這么多else if,看得眼花
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产日韩精品一区 | 中文二区 | 欧美精品网站 | 国产成人免费 | 免费成人在线网 | 玖玖在线精品 | 欧美一区二区在线 | 91成人影院| 久久久www| 欧美一区在线看 | 日本网站免费观看 | 99久久久国产精品 | 91看片网 | 91香蕉| 久久精品91久久久久久再现 | 国产黄色大片网站 | 中文字幕日韩专区 | 欧美成人精品一区二区男人看 | 福利视频一区二区三区 | 一区二区三区四区毛片 | 久久精品一区二区 | 视频一区二区中文字幕日韩 | 一级黄色录像毛片 | 国产精品久久久久9999鸭 | 日韩一区不卡 | 久久另类视频 | 久久综合久久久 | 一区二区三区日韩精品 | 自拍视频在线观看 | 欧美国产亚洲一区二区 | 国产日韩亚洲欧美 | 国产精品成人国产乱一区 | 丁香六月伊人 | 久久久久亚洲 | 日韩av福利在线观看 | 五月综合久久 | 国产精品一区一区 | 草草草草视频 | 国产精品免费av | 免费久久久 | 日韩精品一区二区三区在线播放 |