stm32 串口笔记

问题
利用串口中断接收数据,只可以接收到一包数据数据

产生问题原因
串口产生了ORE过载错误,所以下一次再次使能接收中断,就不可以再次接收
解决办法就是
清除错误状态和数据寄存器

__HAL_UART_CLEAR_OREFLAG(&huart2);//
  1. 状态寄存器读取一次即可以实现清零
  2. 清除状态以后再次使能中断接收

HAL_UART_Receive_IT(&huart2,uart2_data,32);

参考截图

 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐