在工作中用到stm32 的串口和上位机通讯,应答完上位机后,马上重启stm32.上位机总是无法接收到串口信息。仿真打断点,发现也执行了串口发送程序。
忽然想起可能和这个等待数据是否发送完成的标志有关。于是搜到,https://blog.csdn.net/tanguohua_666/article/details/90770693这篇文章。果然,自己使用的是USART_FLAG_TXE。造成串口数据还没有从TX引脚发出就执行了重启命令。NVIC_GenerateSystemReset();//重启