有关CRC校验的问题

2019-08-17 04:18发布

菜鸟我用上了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时编译就死活通不过了。。。提示的三个错误信息是:
..OBJBL_xfj.axf: Error: L6200E: Symbol auchCRCHi multiply defined (by usart2.o and usart1.o).
..OBJBL_xfj.axf: Error: L6200E: Symbol auchCRCLo multiply defined (by usart2.o and usart1.o).
..OBJBL_xfj.axf: Error: L6200E: Symbol CRC16 multiply defined (by usart2.o and usart1.o).

对于通常的变量引起的出现类似的错误信息,只要在相应的变量处添加关键词“extern”就可以解决了。。。。可是对于“crc.h”这样头文件的引用却无能为力了。。。因而在这儿恳请诸位大侠高手多多指点。。。。。拜托了。。。。。。。。。。。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。