![]() |
發布時間: 2024-4-17 11:56
正文摘要:最近在學習怎么用C語言設計基于單片機的作息時間控制器,找到了教材上相近的例子,準備運行看看 但是keil編譯時出現錯誤 求助大家 這個問題怎么解決啊 附帶代碼 *** WARNING L16: UNCALLED SEGMENT, IGNORED F ... |
這個警告是提醒: 所寫的代碼中, 有沒有用到的函數代碼段, 可以找到相關的子程序代碼, 用#if 條件編譯或是//或/* */注銷掉. 單片機的rom空間有限, 這樣可以節省編譯后的hex文件大小. |
QIANDUPDUO 發表于 2024-4-17 20:32 如果不方便貼代碼,把map文件(缺省.m51文件)貼出來看看是哪里占用了太多的RAM。 |
qq475878026 發表于 2024-4-17 14:39 修改了一下,現在剩RAM內存的問題了 ![]() |
Hephaestus 發表于 2024-4-17 15:52 好的 感謝 那我再看看 |
lkc8210 發表于 2024-4-17 15:50 噢噢 這個調用的時候忘記修改了 好的謝謝 |
未調用警告,可以忽略,但會占用資源。 |
警告可以不用管,錯誤必須解決,要看map文件才知道哪里多用了RAM導致空間不足。 |
發表于 2024-4-17 14:19 你頭文件的函數名和link.c里的不太對應啊 程序代碼哪來的? |
第一個警告是LCD_Initiall函數沒定義,或者定義了沒聲明 第二個警告是有一些沒有返回值,應該是switch沒有寫default 下面錯誤應該是超過了RAM內存,128字節 錯誤太多了,所以如果是剛學習建議就直接換一個能跑的例程,不然就自己一個個慢慢改 |
![]() ![]() |
好好----- |
就是你寫了多余代碼,沒有被調用,被連接器刪掉了,不要管這個問題。 |