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