“test.axf: Error: L6218E: Undefined symbol USART_RX_BUF 错误”

2019-08-20 16:19发布

这是什么错误???找不出来哪里错,我是按照原子哥的例程一个字一个字的打代码的。就是串口实验哪里就会变成这样的。
test.axf: Error: L6218E: Undefined symbol USART_RX_BUF (referred from test.o).
test.axf: Error: L6218E: Undefined symbol USART_RX_STA (referred from test.o).
我是新手啊。。原子哥,抽空解答下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
21条回答
mazairan
1楼-- · 2019-08-22 13:38
回复【13楼】lyrics1314:
-------------------------------
是那句话啊?
子墨
2楼-- · 2019-08-22 16:33
哦!奥秘真的在.h的最后一句中文注释!潜伏了,我也没有注意。
nba501287927
3楼-- · 2019-08-22 18:53
找了半天终于找到了。。。。。
rcl
4楼-- · 2019-08-23 00:45
 精彩回答 2  元偷偷看……
dinghongyan
5楼-- · 2019-08-23 04:50
我也遇到了同样的问题,我找出了原因,可是我不懂为什么,想请教原子哥。我的问题出在我只在uart.h里面定义了UART_RX_STA和UART_RX_BUF[64],在uart.c里面没有定义,为什么会要定义两次?我原先以为只要在.h文件里面定义成外部变量就行。

张静茹
6楼-- · 2019-08-23 08:58
出现这个错误,还有一个可能就是你是用了C/C++混编,而你引用了C头文件,C++的重载机制会导致编译器会重新定义函数名,在函数名前加几个奇奇怪怪的字符,
然后你在C文件里可能引用不到C++的函数解决办法是,你需要在C++文件的头文件中把引用不到的函数加extern"C"{引用不到的函数名}

一周热门 更多>