关于xdata的问题

qijunqian 2013-11-28 10:49:11
单片机用AT89C52,代码使用Keil C开发编译都能通过,里面定义了xdata 缓存变量,程序烧到单片机后,烦是xdata的变量读出来都是FF,把xdata换成idata数据正常,不知道是什么原因
...全文
261 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qijunqian 2014-01-07
  • 打赏
  • 举报
回复
谢谢各位大侠
of123 2013-11-29
  • 打赏
  • 举报
回复
xdata 关键字用于指定将声明的变量映射到芯片的“核外 RAM"。因为 52 系列的核,内部 RAM 只有 256 字节。现在稍复杂一点的 52 架构芯片,都提供了这种存储器以增加可用的资源,甚至多到几 K 或十几 K。核外 RAM 的访问速度要比核内慢一些。 只有当你要把一些变量映射到这种核外的 RAM 时,或者访问核外的某个地址指针时,才用 xdata。 AT89C52 几乎是 52 系列的最小系统,只有 256 Byte 核内 RAM。因此,基于它的代码不能用 xdata。
dceacho 2013-11-28
  • 打赏
  • 举报
回复
at89c52内部没有XDATA

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧