欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: keil提示 ** FATAL ERROR L232: APPLICATION CONTAINS TOO MANY RECURSIONS [打印本頁]

作者: cheney03    時間: 2020-12-10 15:44
標題: keil提示 ** FATAL ERROR L232: APPLICATION CONTAINS TOO MANY RECURSIONS

keil提示這個錯誤,是我函數遞歸調用太多了嗎,還是警告過多,要怎么解決?

作者: cheney03    時間: 2020-12-10 15:58
剛去掉一個函數調用,編譯通過。那是我調用太多函數了,導致內存崩潰嗎?我程序沒寫多少啊,不過有很多按鍵的循環嵌套,要優化程序嗎,有沒其他辦法可以解決?
作者: cheney03    時間: 2020-12-10 16:01
其中的部分代碼:

while(1)
       
        {   
           Key_scan();
           if (KeyState)
                {
                 KeyState=0;
                 if(KEY==KEY_MEAS)
                   {Disp_meas();}
                 
                 if(KEY==KEY_CAL)
                   {Disp_cal();}
            
                 if(KEY==KEY_MENU)
             {
                 Disp_menu();                                     
                  Menu_set();
                 }       
             if(KEY==KEY_DEBUG)
                  {
                  Disp_Probe_Debug_01();
                  Probe_Debug_1();
                  }       
                }  
     }   
void Menu_set()
{

  Uint menu_flag;
  menu_flag=0;
  menu_flag++;
  while(menu_flag==1)
       
   {  
         Key_scan();
         if(KeyState)
          {
                 KeyState=0;
           if(KEY==KEY_OK){Disp_Menu_1();}
           if(KEY==KEY_DOWN){Disp_menu_02();Set_menu_02();}
           if(KEY==KEY_UP){Disp_menu_06();Set_menu_06();}  
           menu_flag=0;

      }
                
        }          

}          
作者: npn    時間: 2020-12-10 17:20
其他函數要放到main函數上面,否則編譯器就找不到函數。
作者: lovezjf234    時間: 2020-12-10 17:48
cheney03 發表于 2020-12-10 16:01
其中的部分代碼:

while(1)

在keil中藥把函數放到前面,或者在上面定義行數名,比如加void Menu_set();就可以了。在其他的編譯器中可能不需要這種方式,和編譯器有關
作者: cheney03    時間: 2020-12-10 19:33
npn 發表于 2020-12-10 17:20
其他函數要放到main函數上面,否則編譯器就找不到函數。

我只是舉個我調用函數的例子,程序開頭函數我都有聲明
作者: cheney03    時間: 2020-12-10 19:34
lovezjf234 發表于 2020-12-10 17:48
在keil中藥把函數放到前面,或者在上面定義行數名,比如加void Menu_set();就可以了。在其他的編譯器中 ...

程序開頭函數都有聲明,問題不在這
作者: KongQuan    時間: 2020-12-10 21:05
如果中斷中和主程序循環中都調用一個函數,或者遞歸調用的函數。需要修飾這個函數為遞歸函數。
作者: lovezjf234    時間: 2020-12-11 16:24
還有就是被調用函數里面包含太多調用函數,你屏蔽下if()里面的幾個函數試試,
作者: 呦呵。    時間: 2020-12-11 19:59
在其他的編譯器中可能不需要這種方式,和編譯器有關
作者: MikeCai    時間: 2020-12-14 08:53
Too many recursion 就是太多遞歸調用,函數中又套原函數,最可疑!另外,main的 while環中調KEY_scan,
Menu_set() 的 while環中也調KEY_scan,讓人感覺您的代碼是亂的。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1