cubemx生成KEIL5代码后显示参数重定义如何解决?

SignalGenerator_v0.1\SignalGenerator_v0.1: Error: L6200E: Symbol USART1_IRQHandler multiply defined (by stm32f1xx_it.o and usart.o).

Not enough information to list image symbols.

Not enough information to list load addresses in the image map.

Finished: 2 information, 0 warning and 1 error messages.

"SignalGenerator_v0.1\SignalGenerator_v0.1" - 1 Error(s), 0 Warning(s).

Target not created.

两个确认都有定义USART_1IRQHandler,

这个是STM32F1XX.IT.C的定义段

void USART1_IRQHandler(void)

{

  /* USER CODE BEGIN USART1_IRQn 0 */


  /* USER CODE END USART1_IRQn 0 */

  HAL_UART_IRQHandler(&huart1);

  /* USER CODE BEGIN USART1_IRQn 1 */


  /* USER CODE END USART1_IRQn 1 */

}

这个是USART.C的定义段

void USART1_IRQHandler(void)               

u32 timeout=0;

HAL_UART_IRQHandler(&huart1); //调用HAL库中断处理公用函数

timeout=0;

    while (HAL_UART_GetState(&huart1) != HAL_UART_STATE_READY)//等待就绪

{

timeout++;////超时处理

     if(timeout>HAL_MAX_DELAY) break;

}

     

timeout=0;

while(HAL_UART_Receive_IT(&huart1, (u8 *)aRxBuffer, RXBUFFERSIZE) != HAL_OK)//一次处理完成之后,重新开启中断并设置RxXferCount为1

{

timeout++; //超时处理

if(timeout>HAL_MAX_DELAY) break;

}


请问各位高手这该如何处理?


已邀请:

admin

赞同来自:

删掉一个不行? 话说你的为啥有两个?一个还没_weak头

乡村非主流

赞同来自:

这个是CUBEMX生成的源码,我也不知道为啥有两个,请问一下weak头是啥?

要回复问题请先登录注册