久芯网

uart1中断方式接收后不返回主程序

avatar libob 提问时间: 2023-07-11 20:37:43 / 未解决
uart1中断方式接收后不返回主程序了,但新的中断还能进来,芯片型号STM32F103RCT6




void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)

        {

        uint8_t i;
        for(i=0;i<9;i=i+1)
        {
        tembuffer=rxbuffer;
        }
if(HAL_UART_Receive_IT(&huart1, rxbuffer, 5)==HAL_OK )
        {Error_Handler();}


HAL_UART_Receive_IT(&huart1, rxbuffer, 5);
//UNUSED(huart);
        }

2个回答
  • avatar yr
    回答时间: 2023-07-11 20:54:34

    当if(HAL_UART_Receive_IT(&huart1, rxbuffer, 5)==HAL_OK )成立时,就进入error_handler, 是不是有while(1),这样的话,就无法返回主程序

  • avatar 废鱼
    回答时间: 2023-07-11 21:26:15

    可以在仿真模式下打断点看一下程序支持的地方。中断能够正常进入,说明没有进入错误中断。也许和楼上说的一样是进入了错误处理的死循环。

会员中心 微信客服
客服
回到顶部