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文件申明就可以解决
USART1_Deta1变量在.h文件中定义
出现报错
更改为在.c文件定义该变量
问题解决!