标题:
STC单片机xdata的使用疑惑
[打印本页]
作者:
jxrjamu
时间:
2018-10-30 11:56
标题:
STC单片机xdata的使用疑惑
按照STC8的数据手册 #define uchar unsigned char uchar xdata a;
这样定义可以编译都是程序异常不知道怎么回事。
那我大神可以科普一下STC xdata 的使用方法吗?
作者:
mengzhixinheng
时间:
2018-10-31 21:05
这个不是XDATA的问题吧,你的宏定义有问题。而且XDATA的申明只是把变量放到内部扩展RAM中,没有其他意义。你就这样“XDATA uchar a”就可以了
作者:
cjm82
时间:
2018-11-1 10:32
XDATA区为内部扩展RAM,基本上现在的51片子的RAM分内部RAM和内部扩展RAM,内部RAM一般为256字节,而内部扩展RAM区则根据不同的型号有所差别,一般同品牌,价钱越贵,基本内部扩展RAM容量也越大.内部RAM KEIL里对应的关键字为idata,其低128字节可以简单理解为生成代码最少读写速度最快,KEIL里对应的关键字为data.内部扩展RAM,KEIL对应的关键字为XDATA,通常内部RAM不够用的时候,会在定义变量时加上xdata关键字.详见相关参考手册.
详细了解这些需要比较好的汇编和微机原理基础,一般只需大概了解即可.
此外常用的还有bdata,其好处就是可以用sbit类型指向其具体一位.这在扩展IO口的时候经常用.
如
bdata unsigned char P9;
sbit Led1 = P9^0;
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1