在使用STM32串口时,有时候串口接受一段时间数据之后便会卡死不在进入中断接收数据。原因是串口中断标志没有清除,导致终端锁死,此时需要判断对应的标志位,重新启动中断。
if((huart1.Instance->CR1 & 0x20)==0)
{
HAL_UART_Receive_IT(&huart1,bsp_uart1.rx_tmp,1);
}
```
在使用STM32串口时,有时候串口接受一段时间数据之后便会卡死不在进入中断接收数据。原因是串口中断标志没有清除,导致终端锁死,此时需要判断对应的标志位,重新启动中断。
if((huart1.Instance->CR1 & 0x20)==0)
{
HAL_UART_Receive_IT(&huart1,bsp_uart1.rx_tmp,1);
}
```
举报