51单片机的数据利用区

[复制链接]
2765|17
 楼主| yushiqian2012 发表于 2012-6-24 19:13 | 显示全部楼层 |阅读模式
前几天给90C52写程序,写着写着编译报错了,说是数据区已满,后来查了半天资料,才知道ROM区域为256个字节,但是还有1024个扩展字节我还没用,后来就试着将
"uchar code data1[]='......'"
改写为“uchar xdata code data1[]='......' ”
果然可以用了,看来这里面还是有学问的,朋友们怎么看?
xyz769 发表于 2012-6-24 20:38 | 显示全部楼层
你确认你没打错吧?
 楼主| yushiqian2012 发表于 2012-6-24 20:44 | 显示全部楼层
2# xyz769 何出此言?什么意思,请指出来
amwrdfe 发表于 2012-6-24 21:53 | 显示全部楼层
哎,据说52都是8k的rom。
一级菜鸟 发表于 2012-6-24 21:58 | 显示全部楼层
xdata 是RAM,而非ROM

大模式编译则不需要xdata关键字
 楼主| yushiqian2012 发表于 2012-6-24 22:15 | 显示全部楼层
5# 一级菜鸟 哦,不好意思,疏忽了,的确是RAM的
 楼主| yushiqian2012 发表于 2012-6-24 22:17 | 显示全部楼层
4# amwrdfe STC90C52的EEPROM起始地址2000,终止址33ff,5K,没错!
coody 发表于 2012-6-25 11:25 | 显示全部楼层
STC89C52只有256个扩展字节xdata
 楼主| yushiqian2012 发表于 2012-6-25 17:29 | 显示全部楼层
8# coody 但是STC90C52有1024个的
sedatefire 发表于 2012-6-25 17:49 | 显示全部楼层
uchar xdata code data1[]='......' ”

我第一次看到 xdata和code是可以搞在一起的
sedatefire 发表于 2012-6-25 17:49 | 显示全部楼层
如果没有code,那你要悲剧
编译器不管xdata的初始化的
wukunshan 发表于 2012-6-25 21:48 | 显示全部楼层
“uchar xdata code data1[]='......' ”?编译器没有报错?你用的是什么编译器呀?在这里忽悠大虾们吗?:dizzy:
 楼主| yushiqian2012 发表于 2012-6-27 13:38 | 显示全部楼层
10# sedatefire 。。。我也不知道行不行,就那样试的,然后硬件上实现了,但具体我还是没搞懂
 楼主| yushiqian2012 发表于 2012-6-27 13:40 | 显示全部楼层
12# wukunshan 刚才用看了一下我的程序,没有code:'(
 楼主| yushiqian2012 发表于 2012-6-27 13:40 | 显示全部楼层
11# sedatefire 刚才看了一下程序,没有code:'(
 楼主| yushiqian2012 发表于 2012-6-27 13:43 | 显示全部楼层
大虾门,我错啦,我太粗心啦,没有code,在此郑重道歉!
xyz769 发表于 2012-6-28 21:28 | 显示全部楼层
yuandm1 发表于 2012-6-28 21:34 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:不需要别人来证明自己,自己的态度更重要

45

主题

354

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部