找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2061|回復(fù): 7
收起左側(cè)

請問各位大神們,51單片機為什么在memory model為large時串口會出問題

[復(fù)制鏈接]
ID:1004966 發(fā)表于 2022-2-12 23:04 | 顯示全部樓層 |閱讀模式
如題
回復(fù)

使用道具 舉報

ID:1005062 發(fā)表于 2022-2-13 21:39 | 顯示全部樓層
編譯前需要在“devies target"欄里的”memory model:"選PDATA或XDATA
回復(fù)

使用道具 舉報

ID:624769 發(fā)表于 2022-2-13 23:26 | 顯示全部樓層
memory model 永遠用 small
回復(fù)

使用道具 舉報

ID:1004966 發(fā)表于 2022-3-3 14:17 | 顯示全部樓層
188610329 發(fā)表于 2022-2-13 23:26
memory model 永遠用 small

但是,我的文件使用small時候會出現(xiàn)SEGMENT TOO LARGE
回復(fù)

使用道具 舉報

ID:1004966 發(fā)表于 2022-3-3 14:53 | 顯示全部樓層
blackrkj 發(fā)表于 2022-2-13 21:39
編譯前需要在“devies target"欄里的”memory model:"選PDATA或XDATA

這么做了,但是功能還是有問題
回復(fù)

使用道具 舉報

ID:161164 發(fā)表于 2022-3-3 16:49 | 顯示全部樓層
是菜鳥啊啊啊啊 發(fā)表于 2022-3-3 14:17
但是,我的文件使用small時候會出現(xiàn)SEGMENT TOO LARGE

部份變數(shù)要變做idata

unsigned char idata Rec_Buff[20];
回復(fù)

使用道具 舉報

ID:624769 發(fā)表于 2022-3-3 20:42 | 顯示全部樓層
是菜鳥啊啊啊啊 發(fā)表于 2022-3-3 14:17
但是,我的文件使用small時候會出現(xiàn)SEGMENT TOO LARGE

過了一個月,還以為你問題都解決了。
首先, memory model 永遠用 small。
如果出現(xiàn)了  'DATA': SEGMENT TOO LARGE   這樣的字樣
申明變量的時候, 適當(dāng)給 數(shù)組類的變量, 加上 idata, pdata, xdata 等前綴。
分擔(dān) DATA 的負擔(dān),
對于,只需要 讀,寫 的數(shù)組,可以用pdata,
對于,需要++,--, 與或操作的 數(shù)組, 盡量用 idata.
如果數(shù)組 較大,可以考慮 xdata
回復(fù)

使用道具 舉報

ID:1004966 發(fā)表于 2022-3-7 00:11 | 顯示全部樓層
加前綴確實解決問題了,謝謝各位
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表