Error: L6200E: Symbol USART3_IRQHandler multiply defined (by remote_control.o and stm32f4xx_it.o).
时间: 2023-06-20 15:10:35 浏览: 493
STM32F401NUCLEO_USART1.zip_site:en.pudn.com_stm32f4_stm32f401 nu
5星 · 资源好评率100%
这个错误是由于在两个不同的源文件中(remote_control.c 和 stm32f4xx_it.c)定义了同一个中断处理函数 USART3_IRQHandler。为了解决这个错误,你需要在一个源文件中定义该中断处理函数,并在其他文件中使用 extern 声明该函数。例如,在 stm32f4xx_it.c 中定义中断处理函数 USART3_IRQHandler:
```c
void USART3_IRQHandler(void)
{
// 中断处理代码
}
```
然后,在 remote_control.c 文件中使用 extern 声明该函数:
```c
extern void USART3_IRQHandler(void);
```
这样做可以告诉编译器该函数已在其他文件中定义,避免重复定义导致的错误。
阅读全文