标题: .\test.axf: Error: L6200E: Symbol USART2_IRQHandler multiply defined (by rs48... [打印本页]

作者: 跳槽摸鱼下班    时间: 2021-5-12 17:39
标题: .\test.axf: Error: L6200E: Symbol USART2_IRQHandler multiply defined (by rs48...
.\test.axf: Error: L6200E: Symbol USART2_IRQHandler multiply defined (by rs485.o and usart2.o).
Not enough information to list image symbols.
Not enough information to list the image map.
Finished: 2 information, 0 warning and 1 error messages.
".\test.axf" - 1 Error(s), 0 Warning(s).
感觉试了好久用了好多方法都改不对,是哪里出了问题啊?


作者: daemondong    时间: 2021-5-13 12:48
你在rs485.c 和 usart2.c 里都定义了 USART2_IRQHandler 串口2中断函数所以报错了。
作者: ENGEL    时间: 2021-5-13 13:46
USART2_IRQHandler 串口中断函数重复定义,所以报错了。先找一找有没有重复定义的地方,注释掉编译试试;若是没有用的,我个人感觉,系统生成的.C文件是不是有重复的,可以去掉某一个编译试试。
作者: 瘾月孤光    时间: 2022-2-11 17:15
还可能是Keil5不支持在其他文件中定义全局变量,若想在其他文件中使用全局变量,只能以在main.c文件中定义,之后在其他文件中声明进行使用。我今天刚刚碰到过,以前也有,只不过我以前碰巧直接定义在main.c文件中了,没出问题就没注意。今天碰到查了半天发现没有重复定义或使用,然后对比以前写的程序才找出的问题




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1