请问中断函数IRQ出现重复定义怎么解决?

2019-07-20 11:42发布

main.c(8): warning:  #223-D: function "USART_init" declared implicitly
        USART_init();
..OBJTemplate.axf: Error: L6200E: Symbol USART1_IRQHandler multiply defined (by usart_1.o and usart.o).

请问这个中断函数重复定义怎么解决?
还有,为什么我的串口初始化函数会出现隐式声明?

1.PNG
2.PNG
3.PNG
4.PNG

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
zmingwang
1楼-- · 2019-07-20 14:20
你的工程里有两个usart.c的文件,你没有发现么?
至于USART_init()函数没有声明,可能是你有两个usart.h的头文件,其定义都是__USART_H_,而编译引用的那个头文件里没有声明USART_init()函数.
TIM截图20171005234835.png
BayMax丶
2楼-- · 2019-07-20 14:39
zmingwang 发表于 2017-10-5 23:52
你的工程里有两个usart.c的文件,你没有发现么?
至于USART_init()函数没有声明,可能是你有两个usart.h的头 ...

谢谢,确实是两个文件重名的原因,但是那个中断函数重复定义还是没有解决
BayMax丶
3楼-- · 2019-07-20 19:33
 精彩回答 2  元偷偷看……
BayMax丶
4楼-- · 2019-07-21 00:04
我已经知道什么问题了,原子哥那个system 文件夹里面有个usart.c里面使用了中断函数,删去那个文件就好了,那个system文件夹的usart.c为什么要当做系统文件?

一周热门 更多>