![]() |
發(fā)布時間: 2023-5-26 16:02
正文摘要:我正在通過51單片機在oled上畫直線,可一旦我定義了oled_RAM[128][8]數(shù)組,然后我的oled就不亮了,之前寫的多級菜單也沒作用了,此外我已經更改target里的memory model為large了。我不知道是否與我定義的引腳有關, ... |
zctwss321 發(fā)表于 2023-6-23 15:38 你肯定 KEIL 里面用 large 了,你要用 Small 然后 uchar xdata displayRAM[8][128]; 才行 |
用unsigned char xdata指針檢測下XRAM容量,數(shù)組越界會導致其他變量值異常修改。 |
zctwss321 發(fā)表于 2023-6-23 15:38 你查編譯生成的m51文件,數(shù)組顯然越界了。 |
munuc_w 發(fā)表于 2023-5-26 16:17 我的用 STC12C5A60S2內部集成RAM 1280字節(jié),其中 內部RAM (data):256 Byte 內部擴展RAM (xdata):1024 也是出現(xiàn)了這個問題, 非常奇怪啊 , uchar displayRAM[8][127]或者uchar displayRAM[7][128]都沒問題, 就是 uchar displayRAM[8][128] 會出現(xiàn)問題.....無解的存在, 按理說RAM是足夠用了啊 |
yzwzfyz 發(fā)表于 2023-5-26 16:59 我的用 STC12C5A60S2內部集成RAM 1280字節(jié),其中 內部RAM (data):256 Byte 內部擴展RAM (xdata):1024 也是出現(xiàn)了這個問題, 非常奇怪啊 , uchar displayRAM[8][127]或者uchar displayRAM[7][128]都沒問題, 就是 uchar displayRAM[8][128] 會出現(xiàn)問題.....無解的存在, 按理說RAM是足夠用了啊 |
5樓說的對,抱歉之前一直沒有看數(shù)據(jù)手冊,我為我無知道歉,非常感謝五樓對我的指正 |
qaqrbt 發(fā)表于 2023-5-26 16:50 你到底看過手冊么? 你哪來的自信 stc89c52rc RAM 是 8x128 的? 所有 STC89xxxxxxRC RAM 只有 512, 其中 XDATA 只有 256 只有 STC89xxxxxxRD 才有 1024 的 XDATA |
先查一下芯片的內存配置。 |
確實如2樓所說,我使用的是stc89c52rc,ram是8*128,更改memory model之后數(shù)全到xdata了,導致oled顯示不出來,不過在畫點的時候又出現(xiàn)了卡頓(沒啥反應)的現(xiàn)象,我在想想吧 |
選用的CPU的RAM是多大的?注意空間。 |
Powered by 單片機教程網(wǎng)