找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2189|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

關(guān)于C語言數(shù)組導(dǎo)致我oled不再點(diǎn)亮的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
我正在通過51單片機(jī)在oled上畫直線,可一旦我定義了oled_RAM[128][8]數(shù)組,然后我的oled就不亮了,之前寫的多級(jí)菜單也沒作用了,此外我已經(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
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:752974 發(fā)表于 2023-5-26 16:17 | 只看該作者
選用的CPU的RAM是多大的?注意空間。
回復(fù)

使用道具 舉報(bào)

板凳
ID:1080048 發(fā)表于 2023-5-26 16:50 | 只看該作者
確實(shí)如2樓所說,我使用的是stc89c52rc,ram是8*128,更改memory model之后數(shù)全到xdata了,導(dǎo)致oled顯示不出來,不過在畫點(diǎn)的時(shí)候又出現(xiàn)了卡頓(沒啥反應(yīng))的現(xiàn)象,我在想想吧
回復(fù)

使用道具 舉報(bào)

地板
ID:123289 發(fā)表于 2023-5-26 16:59 | 只看該作者
先查一下芯片的內(nèi)存配置。
回復(fù)

使用道具 舉報(bào)

5#
ID:624769 發(fā)表于 2023-5-26 19:33 | 只看該作者
qaqrbt 發(fā)表于 2023-5-26 16:50
確實(shí)如2樓所說,我使用的是stc89c52rc,ram是8*128,更改memory model之后數(shù)全到xdata了,導(dǎo)致oled顯示不出 ...

你到底看過手冊(cè)么? 你哪來的自信 stc89c52rc  RAM 是 8x128 的?
所有  STC89xxxxxxRC  RAM 只有 512,  其中 XDATA 只有 256
只有 STC89xxxxxxRD 才有 1024 的 XDATA
回復(fù)

使用道具 舉報(bào)

6#
ID:1080048 發(fā)表于 2023-5-26 20:59 | 只看該作者
5樓說的對(duì),抱歉之前一直沒有看數(shù)據(jù)手冊(cè),我為我無知道歉,非常感謝五樓對(duì)我的指正
回復(fù)

使用道具 舉報(bào)

7#
ID:166284 發(fā)表于 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è)問題,  非常奇怪啊 ,  uchar displayRAM[8][127]或者uchar displayRAM[7][128]都沒問題, 就是 uchar displayRAM[8][128] 會(huì)出現(xiàn)問題.....無解的存在,  按理說RAM是足夠用了啊
回復(fù)

使用道具 舉報(bào)

8#
ID:166284 發(fā)表于 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è)問題,  非常奇怪啊 ,  uchar displayRAM[8][127]或者uchar displayRAM[7][128]都沒問題, 就是 uchar displayRAM[8][128] 會(huì)出現(xiàn)問題.....無解的存在,  按理說RAM是足夠用了啊
回復(fù)

使用道具 舉報(bào)

9#
ID:883242 發(fā)表于 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ù)組顯然越界了。
回復(fù)

使用道具 舉報(bào)

10#
ID:57657 發(fā)表于 2023-6-23 20:40 | 只看該作者
用unsigned char xdata指針檢測(cè)下XRAM容量,數(shù)組越界會(huì)導(dǎo)致其他變量值異常修改。
回復(fù)

使用道具 舉報(bào)

11#
ID:624769 發(fā)表于 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]; 才行
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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