关于xdata的问题
单片机用AT89C52,代码使用Keil C开发编译都能通过,里面定义了xdata 缓存变量,程序烧到单片机后,烦是xdata的变量读出来都是FF,把xdata换成idata数据正常,不知道是什么原因
[解决办法]
xdata 关键字用于指定将声明的变量映射到芯片的“核外 RAM"。因为 52 系列的核,内部 RAM 只有 256 字节。现在稍复杂一点的 52 架构芯片,都提供了这种存储器以增加可用的资源,甚至多到几 K 或十几 K。核外 RAM 的访问速度要比核内慢一些。
只有当你要把一些变量映射到这种核外的 RAM 时,或者访问核外的某个地址指针时,才用 xdata。
AT89C52 几乎是 52 系列的最小系统,只有 256 Byte 核内 RAM。因此,基于它的代码不能用 xdata。