|
發布時間: 2024-4-25 20:33
正文摘要:linking. WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESSLSEGMENT: ?CO?MAIN |
| 注釋未調用代碼 |
| 未用到的數據段,或子程序代碼在c51 keil里面, 編譯時就有提示警告. 可以刪除縮減編譯后的代碼大小 |
|
找到原因了,開始定義了一個code的數組 uchar code ksmz[3] = {0xef,0xfd,0xfe,}; 沒有使用,后來用了這種 keysm++;if(keysm>4)keysm = 1; key_h1 = 1;key_h2 = 1;key_h3 = 1;key_h4 = 1; switch(keysm){ case 1: key_h1 = 0; break; case 2: key_h2 = 0; break; case 3: key_h3 = 0; break; case 4: key_h4 = 0; break; default: break; } 就遺忘了,不好意思。 |
| main.c中的函數co()未被調用,有編寫這個函數嗎 |
| 警告 代碼里 按鍵服務函數 定義了,卻未被調用,可以把未調用函數注釋掉 |
| 而且編譯結果是可以正常使用的。 |
Hephaestus 發表于 2024-4-25 22:56 沒有啊,沒改那個啊,而且編譯結果也能使用的,這次主要是原來的舊板子的9鍵是9個io驅動的,現在要改成12鍵,所以就把10個鍵用3*4掃描了,其余的兩個還是直接用io。是添加了模塊,這樣就不需要改動原來的按鍵服務了。也沒注意是啥時候出這個的,把備份的之前工程編譯,就沒有這個提示。 |
| 應該是你瞎改startup.a51導致main函數都被省略掉了。 |