亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

標(biāo)題: STC89C52RC單片機內(nèi)存大小問題 [打印本頁]

作者: MirrAKe    時間: 2021-4-27 15:41
標(biāo)題: STC89C52RC單片機內(nèi)存大小問題
就是圖中畫圈的地方,這不就說明52rc單片機的ram空間有256嗎?為什么keil編譯時我的data大于128就不能編譯了?這不就說明ram中有128的空間浪費了嗎?而且我使用的也是stc的芯片包,也使用了對應(yīng)的芯片

Desktop Screenshot 2021.04.27 - 15.40.07.99.png (108.54 KB, 下載次數(shù): 80)

Desktop Screenshot 2021.04.27 - 15.40.07.99.png

Desktop Screenshot 2021.04.27 - 15.35.38.81.png (195.85 KB, 下載次數(shù): 75)

Desktop Screenshot 2021.04.27 - 15.35.38.81.png

作者: zsw3721    時間: 2021-4-27 22:06
手冊上說的很清楚了,直接尋址的是低128字節(jié)的內(nèi)部RAM。想要用另外的128字節(jié),在定義變量時在變量名稱前加上idata。如unsigned char idata a[10];
作者: MirrAKe    時間: 2021-4-27 22:26
zsw3721 發(fā)表于 2021-4-27 22:06
手冊上說的很清楚了,直接尋址的是低128字節(jié)的內(nèi)部RAM。想要用另外的128字節(jié),在定義變量時在變量名稱前加 ...

謝謝!我還有一個問題就是這個idata和xdata是不是一樣的啊?

作者: angmall    時間: 2021-4-27 22:30
MirrAKe 發(fā)表于 2021-4-27 22:26
謝謝!我還有一個問題就是這個idata和xdata是不是一樣的啊?

這個idata和xdata是不一樣的
STC12 有xdata
作者: wfqxgw    時間: 2021-4-27 22:31
xdata是屬于片外的RAM了.速度很慢.一般先用data和idata
作者: MirrAKe    時間: 2021-4-28 17:54
angmall 發(fā)表于 2021-4-27 22:30
這個idata和xdata是不一樣的
STC12 有xdata

謝謝解答!我還有點問提:就是我這個52rc編譯的時候也能用xdata啊?寫進(jìn)去也能正常運行,還有就是為啥keil編譯的時候不顯示idata用了多少,我看好像是和data算在一起了
作者: MirrAKe    時間: 2021-4-28 17:54
wfqxgw 發(fā)表于 2021-4-27 22:31
xdata是屬于片外的RAM了.速度很慢.一般先用data和idata

謝謝!
作者: as21cxz    時間: 2021-4-28 18:26
直接尋址的是低128字節(jié)的內(nèi)部RAM。另外高的128字節(jié)是間接尋址,
(注意):直接尋址的低128字節(jié)比較快,高的128字節(jié)是間接尋址,它尋址的速度比直接尋址要慢。
作者: noadmin    時間: 2025-9-7 15:42
在keil5中data為197就報了,我想知道這個值的上限是多少?
*** ERROR L107: ADDRESS SPACE OVERFLOW
    SPACE:   DATA   
    SEGMENT: _DATA_GROUP_
    LENGTH:  006FH
Program Size: data=197.0 xdata=0 code=4316

作者: weisc6955    時間: 2025-9-7 19:02
noadmin 發(fā)表于 2025-9-7 15:42
在keil5中data為197就報了,我想知道這個值的上限是多少?
*** ERROR L107: ADDRESS SPACE OVERFLOW
     ...

低RAM 地址是 00-7f。 高位RAM地址是 80-FF。高位RAM地址是復(fù)用的,不能直接訪問。
作者: xiaobendan001    時間: 2025-9-8 07:32
noadmin 發(fā)表于 2025-9-7 15:42
在keil5中data為197就報了,我想知道這個值的上限是多少?
*** ERROR L107: ADDRESS SPACE OVERFLOW
     ...

CODE才4316,DATA就用這么多了。
DATA只有128,還要空出來一些用作堆棧。
片內(nèi)的高128要使用idata關(guān)鍵字標(biāo)識一下。否則編譯器不會自動使用的。
能用局部變量的就用局部的吧。
實在不行換帶有XDATA的芯片吧
作者: noadmin    時間: 2025-9-14 17:39
xiaobendan001 發(fā)表于 2025-9-8 07:32
CODE才4316,DATA就用這么多了。
DATA只有128,還要空出來一些用作堆棧。
片內(nèi)的高128要使用idata關(guān)鍵 ...

是不是用得全局變量比較多導(dǎo)致的?
作者: noadmin    時間: 2025-10-2 22:31
xiaobendan001 發(fā)表于 2025-9-8 07:32
CODE才4316,DATA就用這么多了。
DATA只有128,還要空出來一些用作堆棧。
片內(nèi)的高128要使用idata關(guān)鍵 ...

89c52rc是不是沒有xdata?下面是我換成xdata后的報錯,可以看到data已經(jīng)小于128:
*** ERROR L107: ADDRESS SPACE OVERFLOW
    SPACE:   DATA   
    SEGMENT: _DATA_GROUP_
    LENGTH:  0026H
Program Size: data=124.0 xdata=74 code=4329
作者: npn    時間: 2025-10-2 22:42
wfqxgw 發(fā)表于 2021-4-27 22:31
xdata是屬于片外的RAM了.速度很慢.一般先用data和idata

速度與晶振頻率、指令周期有關(guān) 具體見數(shù)據(jù)手冊指令表 MOVX指令的執(zhí)行周期 不同系列有區(qū)別
作者: npn    時間: 2025-10-2 22:45
MirrAKe 發(fā)表于 2021-4-28 17:54
謝謝解答!我還有點問提:就是我這個52rc編譯的時候也能用xdata啊?寫進(jìn)去也能正常運行,還有就是為啥kei ...

至于xdata容量多大,就看寫進(jìn)去是否能正常讀出進(jìn)行測試。
xdata容量超芯片容量且沒超尋址范圍 編譯器不會發(fā)現(xiàn)任何異常,而是運行時指令無法讀寫該XDATA地址出錯。
作者: rundstedt    時間: 2025-10-3 01:40
xiaobendan001 發(fā)表于 2025-9-8 07:32
CODE才4316,DATA就用這么多了。
DATA只有128,還要空出來一些用作堆棧。
片內(nèi)的高128要使用idata關(guān)鍵 ...

錯,堆棧不超過128byte,不占用data空間,只占用idata空間。
作者: 新鄉(xiāng)家電維修    時間: 2025-10-7 11:07
過分了,什么程序能占用這么多RAM,示波器嗎?

作者: 952346724    時間: 2025-10-7 22:37
一般都是256kb




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