STM32串口调试 出现Symbol XXX multiply defined (by uart.o and main.o). ERRO:L6200E


(STM32串口调试 出现Symbol XXX multiply defined (by uart.o and main.o).)


关于Symbol XXX multiply defined (by uart.o and main.o).错误

下面是本次调试STM32串口出现的问题,一般出现这个问题的原因是自己定义的变量再某个.C文件重复定义然后出现的问题,解决方法参照了https://www.cnblogs.com/xiaoheikkkk/p/11273921.html 解决。

问题原因

问题的原因是改变量是在.h文件中定义的一个变量,这个.H文件因为还有其他的函数需要申明,所以main函数需要引用该文件 就导致了变量在main函数和该.h文件对应的.C文件都会重复的定义 所以报错。

解决方式

将该XXX变量定义在.C文件中,在.H文件申明就可以解决
STM32串口调试 出现Symbol XXX multiply defined (by uart.o and main.o). ERRO:L6200E
USART1_Deta1变量在.h文件中定义STM32串口调试 出现Symbol XXX multiply defined (by uart.o and main.o). ERRO:L6200E
出现报错STM32串口调试 出现Symbol XXX multiply defined (by uart.o and main.o). ERRO:L6200E
更改为在.c文件定义该变量STM32串口调试 出现Symbol XXX multiply defined (by uart.o and main.o). ERRO:L6200E
问题解决!