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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7362|回復: 17
打印 上一主題 下一主題
收起左側

STC89C52RC單片機內存大小問題

  [復制鏈接]
跳轉到指定樓層
樓主
就是圖中畫圈的地方,這不就說明52rc單片機的ram空間有256嗎?為什么keil編譯時我的data大于128就不能編譯了?這不就說明ram中有128的空間浪費了嗎?而且我使用的也是stc的芯片包,也使用了對應的芯片

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

Desktop Screenshot 2021.04.27 - 15.40.07.99.png

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

Desktop Screenshot 2021.04.27 - 15.35.38.81.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:702386 發表于 2021-4-27 22:06 | 只看該作者
手冊上說的很清楚了,直接尋址的是低128字節的內部RAM。想要用另外的128字節,在定義變量時在變量名稱前加上idata。如unsigned char idata a[10];

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:884998 發表于 2021-4-27 22:26 | 只看該作者
zsw3721 發表于 2021-4-27 22:06
手冊上說的很清楚了,直接尋址的是低128字節的內部RAM。想要用另外的128字節,在定義變量時在變量名稱前加 ...

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

使用道具 舉報

地板
ID:155507 發表于 2021-4-27 22:30 | 只看該作者
MirrAKe 發表于 2021-4-27 22:26
謝謝!我還有一個問題就是這個idata和xdata是不是一樣的啊?

這個idata和xdata是不一樣的
STC12 有xdata

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

5#
ID:419909 發表于 2021-4-27 22:31 | 只看該作者
xdata是屬于片外的RAM了.速度很慢.一般先用data和idata
回復

使用道具 舉報

6#
ID:884998 發表于 2021-4-28 17:54 | 只看該作者
angmall 發表于 2021-4-27 22:30
這個idata和xdata是不一樣的
STC12 有xdata

謝謝解答!我還有點問提:就是我這個52rc編譯的時候也能用xdata啊?寫進去也能正常運行,還有就是為啥keil編譯的時候不顯示idata用了多少,我看好像是和data算在一起了
回復

使用道具 舉報

7#
ID:884998 發表于 2021-4-28 17:54 | 只看該作者
wfqxgw 發表于 2021-4-27 22:31
xdata是屬于片外的RAM了.速度很慢.一般先用data和idata

謝謝!
回復

使用道具 舉報

8#
ID:708541 發表于 2021-4-28 18:26 | 只看該作者
直接尋址的是低128字節的內部RAM。另外高的128字節是間接尋址,
(注意):直接尋址的低128字節比較快,高的128字節是間接尋址,它尋址的速度比直接尋址要慢。
回復

使用道具 舉報

9#
ID:1159981 發表于 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
回復

使用道具 舉報

10#
ID:1153607 發表于 2025-9-7 19:02 | 只看該作者
noadmin 發表于 2025-9-7 15:42
在keil5中data為197就報了,我想知道這個值的上限是多少?
*** ERROR L107: ADDRESS SPACE OVERFLOW
     ...

低RAM 地址是 00-7f。 高位RAM地址是 80-FF。高位RAM地址是復用的,不能直接訪問。
回復

使用道具 舉報

11#
ID:1109793 發表于 2025-9-8 07:32 | 只看該作者
noadmin 發表于 2025-9-7 15:42
在keil5中data為197就報了,我想知道這個值的上限是多少?
*** ERROR L107: ADDRESS SPACE OVERFLOW
     ...

CODE才4316,DATA就用這么多了。
DATA只有128,還要空出來一些用作堆棧。
片內的高128要使用idata關鍵字標識一下。否則編譯器不會自動使用的。
能用局部變量的就用局部的吧。
實在不行換帶有XDATA的芯片吧
回復

使用道具 舉報

12#
ID:1159981 發表于 2025-9-14 17:39 | 只看該作者
xiaobendan001 發表于 2025-9-8 07:32
CODE才4316,DATA就用這么多了。
DATA只有128,還要空出來一些用作堆棧。
片內的高128要使用idata關鍵 ...

是不是用得全局變量比較多導致的?
回復

使用道具 舉報

13#
ID:1159981 發表于 2025-10-2 22:31 | 只看該作者
xiaobendan001 發表于 2025-9-8 07:32
CODE才4316,DATA就用這么多了。
DATA只有128,還要空出來一些用作堆棧。
片內的高128要使用idata關鍵 ...

89c52rc是不是沒有xdata?下面是我換成xdata后的報錯,可以看到data已經小于128:
*** ERROR L107: ADDRESS SPACE OVERFLOW
    SPACE:   DATA   
    SEGMENT: _DATA_GROUP_
    LENGTH:  0026H
Program Size: data=124.0 xdata=74 code=4329
回復

使用道具 舉報

14#
ID:57657 發表于 2025-10-2 22:42 | 只看該作者
wfqxgw 發表于 2021-4-27 22:31
xdata是屬于片外的RAM了.速度很慢.一般先用data和idata

速度與晶振頻率、指令周期有關 具體見數據手冊指令表 MOVX指令的執行周期 不同系列有區別
回復

使用道具 舉報

15#
ID:57657 發表于 2025-10-2 22:45 | 只看該作者
MirrAKe 發表于 2021-4-28 17:54
謝謝解答!我還有點問提:就是我這個52rc編譯的時候也能用xdata啊?寫進去也能正常運行,還有就是為啥kei ...

至于xdata容量多大,就看寫進去是否能正常讀出進行測試。
xdata容量超芯片容量且沒超尋址范圍 編譯器不會發現任何異常,而是運行時指令無法讀寫該XDATA地址出錯。
回復

使用道具 舉報

16#
ID:879809 發表于 2025-10-3 01:40 | 只看該作者
xiaobendan001 發表于 2025-9-8 07:32
CODE才4316,DATA就用這么多了。
DATA只有128,還要空出來一些用作堆棧。
片內的高128要使用idata關鍵 ...

錯,堆棧不超過128byte,不占用data空間,只占用idata空間。
回復

使用道具 舉報

17#
ID:72088 發表于 2025-10-7 11:07 | 只看該作者
過分了,什么程序能占用這么多RAM,示波器嗎?
回復

使用道具 舉報

18#
ID:1161272 發表于 2025-10-7 22:37 | 只看該作者
一般都是256kb
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表