初级会员

- 积分
- 108
- 金钱
- 108
- 注册时间
- 2017-6-15
- 在线时间
- 17 小时
|
1金钱
菜鸟我用上了STM32F103的三个USART串口,其中两个要用到CRC校验,为此建立了一个有关的头文件“crc.h”(文件中有CRC 高位字节值表 const u8 auchCRCHi[] 、低位字节值表const u8 auchCRCLo[] 及生成CRC校验码函数u16 CRC16(u8 *puchMsg, u16 usDataLen) )。。。。当只有其中任一个串口C文件引用“crc.h”及调用CRC校验码函数u16 CRC16时整个工程代码可以顺利编译完成.......当两串口C文件都引用“crc.h”及调用CRC校验码函数u16 CRC16时编译就死活通不过了。。。提示的三个错误信息是:
..\OBJ\BL_xfj.axf: Error: L6200E: Symbol auchCRCHi multiply defined (by usart2.o and usart1.o).
..\OBJ\BL_xfj.axf: Error: L6200E: Symbol auchCRCLo multiply defined (by usart2.o and usart1.o).
..\OBJ\BL_xfj.axf: Error: L6200E: Symbol CRC16 multiply defined (by usart2.o and usart1.o).
对于通常的变量引起的出现类似的错误信息,只要在相应的变量处添加关键词“extern”就可以解决了。。。。可是对于“crc.h”这样头文件的引用却无能为力了。。。因而在这儿恳请诸位大侠高手多多指点。。。。。拜托了。。。。。。。。。。。。。。
|
|