❶ 用 keil編譯的時候有兩個警告怎麼回事
warning
l15:
multiple
call
to
segment
這個問題必須注意,可能引起程序沖突,假設你用於自動化領域,則可能導致信號產生尖峰。
產生這一警告的一個根源是:你在主循環里調用了一個函數(如aaa),而在中斷服務函數里,你用調用了這個函數(如aaa)。這樣當主循環運行到該函數中是,一旦產生中斷,則在中斷里又再次調用該函數!這時,很可能出錯!
避免這種情況的方法很多:如,在進中斷的時候置需調用該函數的標志,而在主循環中調用該函數
你可以在中斷函數設置標志
flag_display
=
1;
在主函數里判斷這個標志:
if(flag_display)
valuedisplay();
更新後,清除顯示標志:
flag_display
=
0;
❷ Keil編譯有警告程序還能燒錄進單片機里嗎
可以的。不過,有警告的話,意味著程序可能存在著一些問題,會導致在運行時不正常。
❸ 用keil編譯顯示警告,*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS 怎麼回事啊急
這個警告應該是有某個函數從沒有被調用,建議你看看具體的警告信息(信息中有函數名的),把那個函數注釋掉,這樣能節約內存和程序空間。
另外,再編譯一次這個警告會消失,其實是keil優化配置的效果,配置不同,效果也不一樣。