全局变量值 莫名其妙的变了没有对全局变量值 再赋值 却在函数调用的时候,发现其值已经改变.
这是为什么呢?
使用C18 3.06和MPLAB 我把全局定义在文件A.h 和A.c
这样在其他文件中使用include调用
入定义变量
A.h中
extern unsigned char B[60];
extern unsigned char C[6];
extern unsigned char D[10];
A.c中
#pragma udata Var
unsigned char B[60];
unsigned char C[6];
unsigned char D[10];
#pragma udata
问题就存在
但是在A.c中如下定义,问题就OK了.
#pragma udata Var1
unsigned char B[60];
#pragma udata
#pragma udata Var2
unsigned char C[6];
#pragma udata
#pragma udata Var3
unsigned char D[10];
#pragma udata
其中Var1~3为再lkr中配置的DATABANK
这是为什么呢?
|