找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3027|回復(fù): 3
收起左側(cè)

keil 警告WARNING L13: RECURSIVE CALL TO SEGMENT,如何解決

[復(fù)制鏈接]
ID:743654 發(fā)表于 2021-1-4 17:11 | 顯示全部樓層 |閱讀模式
10黑幣
本帖最后由 cheney03 于 2021-1-4 17:14 編輯

2.png 1.png
如圖,是我函數(shù)調(diào)用數(shù)量過(guò)大嗎,如何解決?

下面是我其中的一個(gè)子函數(shù),通過(guò)按鍵判斷調(diào)用別的函數(shù)

void Host_Debug_Current_Debug() //主機(jī)調(diào)試菜單——探頭電流調(diào)試
{

  Uint flag=0;
  flag++;
  while(flag==1)
        
   {  
         Key_scan();
         if(KeyState)
          {
           KeyState=0;
           if(KEY==KEY_OK)
             {
               Disp_Probe_Current_Debug();
               Probe_Current_Debug();//探頭電流調(diào)試
                  
         }         
           if(KEY==KEY_UP)
             {
                   Disp_Host_Debug();
                   Host_Debug();//主機(jī)調(diào)試
                 }
           if(KEY==KEY_DOWN)
             {
                   Disp_Host_Debug_Distance_Debug();
                 Host_Debug_Distance_Debug();//探頭提離調(diào)試
                 
                 }

                  
           flag=0;
           }
        }
}



回復(fù)

使用道具 舉報(bào)

ID:235200 發(fā)表于 2021-1-4 20:19 | 顯示全部樓層
只給了一個(gè)函數(shù)不好判斷,只有把整個(gè)程序一起編譯才可判斷出來(lái)
回復(fù)

使用道具 舉報(bào)

ID:743654 發(fā)表于 2021-1-5 08:45 | 顯示全部樓層
csmyldl 發(fā)表于 2021-1-4 20:19
只給了一個(gè)函數(shù)不好判斷,只有把整個(gè)程序一起編譯才可判斷出來(lái)

其他函數(shù)類似,就有很多這樣的函數(shù),然后通過(guò)按鍵狀態(tài)判斷調(diào)用,是不是我程序耦合度過(guò)高,有時(shí)還會(huì)有溢出情況。
回復(fù)

使用道具 舉報(bào)

ID:739545 發(fā)表于 2021-1-5 10:02 | 顯示全部樓層
應(yīng)該是遞歸函數(shù)嵌套過(guò)多導(dǎo)致,一個(gè)函數(shù)一般嵌套不要超過(guò)3次
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表