![]() |
這不是軟件問題,是你的內(nèi)存超出了,看你圖2,內(nèi)存有149了,51單片機只能裝128個字節(jié),你需要換52芯片(寫程序時選擇52芯片)52內(nèi)存有256個字節(jié),還要換個頭文件,REGX52.H。還有一個辦法就是把你數(shù)組前加的code改成data,他就會存儲在外部存儲器上,想當(dāng)于我們電腦里的機械硬盤?茨阆旅婢幾g輸出窗口中data有沒有超出128,如果超出就還是不行,就得換52或者更高級的單片機 |
[img]點擊project-----options for Target''Target 1" 會彈出來一個對話框中,選擇output欄,勾選ceeate Hex file再編譯一下就可以了 |
main.c都沒有嗎 |
編譯提示消息很明顯指出: idata 溢出,空間不足長度為 0x80H。 因此導(dǎo)致 數(shù)組變量dispRam被丟棄。 |
data空間已經(jīng)不夠用,可能有好多函數(shù),函數(shù)內(nèi)部的局部變量又沒有定義空間,系統(tǒng)會將變量分配到你在Otions for Target 對話框里的設(shè)置的空間,網(wǎng)上搜一下都有 https://www.cnblogs.com/bison1989/archive/2011/06/02/2067626.html |
單片機ram太小,第一個錯誤都已經(jīng)告訴你了 |
應(yīng)該是ram不夠 |
把idata改為xdata |
Error 107 MCU RAM不夠,圖形數(shù)據(jù)太大了,減減肥吧。 |
keil4卸載重裝,裝完了破(不漢化)英文界面再試試 |
換內(nèi)存更大的單片機 |
要么換單片機,要么減少你的代碼量 |
迵憶那段程序 發(fā)表于 2019-7-28 10:15 右鍵單擊Target選擇“Options for Target'Target1'”就會出來一個框,在memory model中選擇compact:variables in pdata試試: |
換52 ;出現(xiàn)Program Size: data=149.0 xdata=0 code=2452 (程序大小:數(shù)據(jù)=149.0 xdata=0代碼=2452) |
小黑屋525 發(fā)表于 2019-7-28 08:37 謝謝你的回答,怎么解決呢? |
12345678.. 發(fā)表于 2019-7-28 08:50 謝謝你的回答,這個我早就看過了,不行。 |
第二幅圖和第三幅圖顯示內(nèi)存空間溢出,參考https://blog.csdn.net/yishengzhiai005/article/details/25755181 |
keil軟件百度云鏈接鏈接:https://pan.baidu.com/s/1MXg-1xHgblkvziia-L3KJQ提取碼:y308復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦 |
或者是你軟件可能有問題。 |
如何生產(chǎn)hex,https://jingyan.baidu.com/article/fd8044fa232bf05031137a21.html |
有兩個錯誤,ERRORL107說的是你的單片機RAM不夠,ERRORL105說的是data空間不夠! |
Powered by 單片機教程網(wǎng)