今天在进行代码测试编译时出现了重复定义的错误,提示在对象文件led.o和usart.o中出现了上述变量重复定义的问题,可仔细检查了此变量并无多次定义,茫然无头绪,随对代码进行进一步的核查,发现原来是管脚出现了重复定义的问题:串口1重映射后的管脚和之前用做LED片选的管脚冲突了,随将重映射改回,一切正常,可纳闷为啥会报一个无关变量的重复定义呢?
另外补充一点:
全局变量的定义,或者引用,放在.C文件中,别放在.h文件中,
关于变量的声明,外部声明时,不可以再赋值。例:
错误代码:
int i=0;
extern int i= 0;
正确代码:
int i=0;
extern int i;