开发环境:MPLAB X IDE v5.35
编译器:xc16 v1.21
项目文件中只有main.c、user.c、user.h
芯片头文件p30F4011.h
我在main.c和user.c中include user.h和p30F4011.h
在user.h定义了全局变量:
extern unsigned char Mode_Flag,FW_Flag,RW_Flag,PWR_Flag;
extern unsigned int chargedata,BAT1data,BAT2data;
这几个变量在user.c和main.c中都会用到。
编译时提示main.c中以上变量没有定义,然后在main.c中用全局变量再定义一次,编译提示变量名称重复,去掉main.c中的extern,编译通过
这个是什么情况造成的?
全局变量到底在哪里定义,我看p30F4011.h中所有的变量,我只要在.c文件中include,然后就能直接使用啊,为什么我在user.h中定义,在.c中include就不行呢
|