標(biāo)題: 關(guān)于C語(yǔ)言數(shù)組導(dǎo)致我oled不再點(diǎn)亮的問(wèn)題 [打印本頁(yè)]

作者: qaqrbt    時(shí)間: 2023-5-26 16:02
標(biāo)題: 關(guān)于C語(yǔ)言數(shù)組導(dǎo)致我oled不再點(diǎn)亮的問(wèn)題
我正在通過(guò)51單片機(jī)在oled上畫直線,可一旦我定義了oled_RAM[128][8]數(shù)組,然后我的oled就不亮了,之前寫的多級(jí)菜單也沒(méi)作用了,此外我已經(jīng)更改target里的memory model為large了。我不知道是否與我定義的引腳有關(guān),還是其他原因?

1.png (54.96 KB, 下載次數(shù): 32)

1.png

2.png (17.34 KB, 下載次數(shù): 29)

2.png

作者: munuc_w    時(shí)間: 2023-5-26 16:17
選用的CPU的RAM是多大的?注意空間。
作者: qaqrbt    時(shí)間: 2023-5-26 16:50
確實(shí)如2樓所說(shuō),我使用的是stc89c52rc,ram是8*128,更改memory model之后數(shù)全到xdata了,導(dǎo)致oled顯示不出來(lái),不過(guò)在畫點(diǎn)的時(shí)候又出現(xiàn)了卡頓(沒(méi)啥反應(yīng))的現(xiàn)象,我在想想吧
作者: yzwzfyz    時(shí)間: 2023-5-26 16:59
先查一下芯片的內(nèi)存配置。
作者: 188610329    時(shí)間: 2023-5-26 19:33
qaqrbt 發(fā)表于 2023-5-26 16:50
確實(shí)如2樓所說(shuō),我使用的是stc89c52rc,ram是8*128,更改memory model之后數(shù)全到xdata了,導(dǎo)致oled顯示不出 ...

你到底看過(guò)手冊(cè)么? 你哪來(lái)的自信 stc89c52rc  RAM 是 8x128 的?
所有  STC89xxxxxxRC  RAM 只有 512,  其中 XDATA 只有 256
只有 STC89xxxxxxRD 才有 1024 的 XDATA
作者: qaqrbt    時(shí)間: 2023-5-26 20:59
5樓說(shuō)的對(duì),抱歉之前一直沒(méi)有看數(shù)據(jù)手冊(cè),我為我無(wú)知道歉,非常感謝五樓對(duì)我的指正
作者: zctwss321    時(shí)間: 2023-6-23 15:38
yzwzfyz 發(fā)表于 2023-5-26 16:59
先查一下芯片的內(nèi)存配置。

我的用   STC12C5A60S2內(nèi)部集成RAM 1280字節(jié),其中 內(nèi)部RAM (data):256 Byte 內(nèi)部擴(kuò)展RAM (xdata):1024     也是出現(xiàn)了這個(gè)問(wèn)題,  非常奇怪啊 ,  uchar displayRAM[8][127]或者uchar displayRAM[7][128]都沒(méi)問(wèn)題, 就是 uchar displayRAM[8][128] 會(huì)出現(xiàn)問(wèn)題.....無(wú)解的存在,  按理說(shuō)RAM是足夠用了啊
作者: zctwss321    時(shí)間: 2023-6-23 15:39
munuc_w 發(fā)表于 2023-5-26 16:17
選用的CPU的RAM是多大的?注意空間。

我的用   STC12C5A60S2內(nèi)部集成RAM 1280字節(jié),其中 內(nèi)部RAM (data):256 Byte 內(nèi)部擴(kuò)展RAM (xdata):1024     也是出現(xiàn)了這個(gè)問(wèn)題,  非常奇怪啊 ,  uchar displayRAM[8][127]或者uchar displayRAM[7][128]都沒(méi)問(wèn)題, 就是 uchar displayRAM[8][128] 會(huì)出現(xiàn)問(wèn)題.....無(wú)解的存在,  按理說(shuō)RAM是足夠用了啊
作者: Hephaestus    時(shí)間: 2023-6-23 16:46
zctwss321 發(fā)表于 2023-6-23 15:38
我的用   STC12C5A60S2內(nèi)部集成RAM 1280字節(jié)渲� 內(nèi)部RAM (data):256 Byte 內(nèi)部擴(kuò)展RAM (xdata):1024 ...

你查編譯生成的m51文件,數(shù)組顯然越界了。
作者: npn    時(shí)間: 2023-6-23 20:40
用unsigned char xdata指針檢測(cè)下XRAM容量,數(shù)組越界會(huì)導(dǎo)致其他變量值異常修改。
作者: 188610329    時(shí)間: 2023-6-23 22:23
zctwss321 發(fā)表于 2023-6-23 15:38
我的用   STC12C5A60S2內(nèi)部集成RAM 1280字節(jié),其中 內(nèi)部RAM (data):256 Byte 內(nèi)部擴(kuò)展RAM (xdata):1024 ...

你肯定 KEIL 里面用 large 了,你要用 Small 然后 uchar xdata  displayRAM[8][128]; 才行




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1