stm32 串口笔记
问题
利用串口中断接收数据,只可以接收到一包数据数据
产生问题原因
串口产生了ORE过载错误,所以下一次再次使能接收中断,就不可以再次接收
解决办法就是
清除错误状态和数据寄存器
__HAL_UART_CLEAR_OREFLAG(&huart2);//
- 状态寄存器读取一次即可以实现清零
- 清除状态以后再次使能中断接收
HAL_UART_Receive_IT(&huart2,uart2_data,32);
参考截图
问题
利用串口中断接收数据,只可以接收到一包数据数据
产生问题原因
串口产生了ORE过载错误,所以下一次再次使能接收中断,就不可以再次接收
解决办法就是
清除错误状态和数据寄存器
__HAL_UART_CLEAR_OREFLAG(&huart2);//
HAL_UART_Receive_IT(&huart2,uart2_data,32);
参考截图