|
| 我也出現(xiàn)了這個問題但不知道怎么回事只有18行代碼 |
暗光 發(fā)表于 2016-4-21 13:13 我原本的設(shè)置就是這樣的,還是不行啊 |
| keil的版本限制了 |
| 可能是你代碼里面數(shù)據(jù)太多,你把一些數(shù)據(jù)存儲到外部RAM里面去,可以在數(shù)據(jù)變量定義前面加一個xdata. |
| 從下面的錯誤描述,你這個Keil沒有注冊,代碼大小受限制。另外一方面你這很有可能是工程文件沒有建對,要關(guān)閉原有的項(xiàng)目文件,然后新建,然后選擇芯片型號,然后新建源程序,注意保存為對應(yīng)文件格式,最后要添加進(jìn)來。 |
| 這個改一下 xdata,就行了 |
| 重建工程,或者是你里面定義了不允許的東西,仔細(xì)查看一下 |
| 復(fù)制內(nèi)容重建工程,這個是警告,里面你可能定義了不允許的東西 |
| 新建個工程,一步一步來,代碼一個函數(shù)一個函數(shù)驗(yàn)證, |
暗光 發(fā)表于 2016-4-21 13:13 這個方法也試了,還是不行,可怎么辦好 |
ArthurKing 發(fā)表于 2017-1-19 22:19 在 C51選項(xiàng)那里點(diǎn)擊 9 應(yīng)該能通過,如果原來是默認(rèn)選8的話。這個與選用的單片機(jī)有關(guān)。 這個方法我試了,不行啊,怎么辦 |
|
程序問題 |
| 通常重新啟動就好 |
| 也有可能是你的軟件MDK沒有破解 |
| 請問把C51改成9要怎么改? |
| 全局變量用的太多了 |
| 可能是你的程序有錯誤,不能生成hex文件,也有可能是版本的問題 我的keil,如果工程文件太大,就容易出現(xiàn)這個毛病,玄學(xué)。 |
|
我的這個問題,還是沒有解決 |
wc86110 發(fā)表于 2016-4-20 21:02 太感謝了,改成9就解決了 |
| 感謝分享經(jīng)驗(yàn) |
| 問題解決了嗎,應(yīng)該是程序問題 |
wanngfengyun123 發(fā)表于 2016-4-21 17:31 嗯,那個地方是優(yōu)化代碼編譯的,但是你的原因是代碼太長了,這是根本原因,與是8是9都沒有關(guān)系,改成9要注意的是,原來你寫P0=0XFF,然后寫P0=0X00,編譯器為了優(yōu)化代碼,就會默認(rèn)為直往P0寄存器謝了0X00,前面寫0XFF的認(rèn)為是操作同一個寄存器的代碼是無用代碼,這樣有時候會在運(yùn)行上出錯,請注意中間加一個_nop_(); |
| 參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
|---|---|---|
|
| + 20 | 回帖助人的獎勵! |
暗光 發(fā)表于 2016-4-21 13:13 我把 C51選項(xiàng) 那里改為 9 就通過,原來是默認(rèn)選8 。謝謝了 現(xiàn)在可以正常運(yùn)行了 |
| 參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
|---|---|---|
|
| + 20 | 回帖助人的獎勵! |
1678 發(fā)表于 2016-4-21 09:12 我把 C51選項(xiàng) 那里改為 9 就通過,原來是默認(rèn)選8 。謝謝了 現(xiàn)在可以正常運(yùn)行了 |
wc86110 發(fā)表于 2016-4-21 12:11 謝謝大神 |
wanngfengyun123 發(fā)表于 2016-4-21 09:44 可以,點(diǎn)project》options for.....》target》code rom size 改成large模式。如果還是這個問題在問我,一般就是這個問題了 |
| 參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
|---|---|---|
|
| + 20 | 回帖助人的獎勵! |
|
超過一點(diǎn)選9可以通過,一般軟件默認(rèn)是8. 優(yōu)化或刪除部分源碼,也可以通過更換單片機(jī)型號來解決。 |
| 參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
|---|---|---|
|
| + 20 | 回帖助人的獎勵! |
wc86110 發(fā)表于 2016-4-20 21:02 改成9 就好了 太感謝了 ![]() |
| 參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
|---|---|---|
|
| + 20 | 回帖助人的獎勵! |
暗光 發(fā)表于 2016-4-21 09:07 用stc89c52 程序是同學(xué)幫忙修改的,在他那邊沒問題(他也是用stc89c52),發(fā)給我,運(yùn)行就出現(xiàn)這情況。 并且 我打開其他項(xiàng)目都好著,就這個不行。 |
1678 發(fā)表于 2016-4-21 09:12 程序是同學(xué)幫忙修改的,在他那邊沒問題(他也是用stc89c52),發(fā)給我運(yùn)行就出現(xiàn)這情況。 并且 我打開其他項(xiàng)目都好著,就這個不行。 |
暗光 發(fā)表于 2016-4-21 09:07 我用的是芯片是 stc89c52,.這個問題可以在軟件上修改嗎? 程序是同學(xué)幫忙修改的,在他那邊沒問題,發(fā)給我運(yùn)行就出現(xiàn)這情況。 并且 我打開其他項(xiàng)目都好著,就這個不行。 |
liuyimao485812 發(fā)表于 2016-4-20 22:29 這個問題可以在軟件上修改嗎? 程序是同學(xué)幫忙修改的,在他那邊沒問題,發(fā)給我運(yùn)行就出現(xiàn)這情況。 并且 我打開其他項(xiàng)目都好著,就這個不行。 |
暗光 發(fā)表于 2016-4-21 09:07 應(yīng)該就是這個問題,rom 不夠,但是不知道要怎么弄? 求支招,謝謝 ![]() |
admin 發(fā)表于 2016-4-20 14:53 這個問題在于選擇編譯的芯片ROM不夠引起的,不用上傳工程文件吧 |
| 參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
|---|---|---|
|
| + 20 | 回帖助人的獎勵! |
| 用的什么芯片?錯誤的原因是代碼溢出了,也就是太多了,data夠,但是code不夠,那個WARNING不用管他,主要是下面的那個ERROR提示code尺寸超出,最后的TARGET.......意思是編譯未通過。解決辦法,如果你的芯片確實(shí)用的存儲是夠的(比如用的STC12,15系列的,一般都買大的了)就在程序設(shè)置中改一下編譯的模式,如果你用的AT89C52或者傳統(tǒng)的51單片機(jī),那儲存的ROM是不夠的,就算編譯通過下載時也會因?yàn)椴粔蚨a溢出,程序沒辦法執(zhí)行。具體方法再搜索或者再問我吧 |
| 參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
|---|---|---|
|
| + 20 | 回帖助人的獎勵! |
| 應(yīng)該是全局變量用的太多,data已經(jīng)到120,內(nèi)存超了,應(yīng)該多用局部變量。 |
| 參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
|---|---|---|
|
| + 20 | 回帖助人的獎勵! |
| 在 C51選項(xiàng)那里點(diǎn)擊 9 應(yīng)該能通過,如果原來是默認(rèn)選8的話。這個與選用的單片機(jī)有關(guān)。 |
| 參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
|---|---|---|
|
| + 20 | 回帖助人的獎勵! |
zxc5230 發(fā)表于 2016-4-20 19:13 還是不行啊 |
Powered by 單片機(jī)教程網(wǎng)