|
各位大侠,真心求教:
51平台下,全局变量初始化问题??
问题描述:
typedef xdata unsigned char xBYTE; //1字节
在文件test.c里这样定义并初始化一个全局数组:
static xBYTE uploadList_test[10] = {
0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
};
然后在上电进入mian函数(main函数和test.c不是同一个文件)的时候调用test.c里的打印函数打印出变量uploadList_test的值,发现uploadList_test没有值。
51扩成了5个bank的,keil编译器中当把test.c放在comment区和bank4的时候用上述操作打出来是有值的,但是test.c放在bank0~bank3的时候打出来发现没有值!!!但是查看编译后的编译文件uploadList_test是已经有值了,是STARTUP.A51这个文件有问题吗??
问题补充:上述定义改成static code xBYTE uploadList_test[10]={........}直接从rom里面读数据打出来是有值的,但是改成 static const xBYTE uploadList_test[10]={........}打出来也没有值!!
这是怎么回事呢??? |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|