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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜精品一区二区三区在线视 | www.久久.com | 日韩免费一区 | 激情三区| 综合二区 | 亚洲成av | 欧美日韩国产一区 | 中国一级毛片免费 | 天天影视亚洲综合网 | 一区二区免费 | 国产精品久久久久久久 | 在线国产一区 | 日韩国产专区 | 亚洲免费三区 | 久久成人精品视频 | 黄色在线免费播放 | 美女一区二区在线观看 | 青青草网站在线观看 | 免费av播放| 亚洲国产精品久久久久秋霞不卡 | 亚洲国产成人精品久久 | 亚洲综合色视频在线观看 | 欧美区在线 | 久久成人在线视频 | 人人澡人人射 | 日韩精品久久久 | 日日精品 | 国产小视频精品 | 黄色国产视频 | 99久久婷婷国产综合精品电影 | 免费欧美 | 国产成人免费视频网站视频社区 | 久久久久久成人 | 久久久精品一区 | 三级视频久久 | 九九免费在线视频 | 免费高潮视频95在线观看网站 | 中国一级特黄真人毛片 | 欧美在线一区二区三区 | 蜜桃av一区二区三区 | 看一级毛片 |