stm32为什么用printf重定向到串口第一个字符打印不出
发布网友
发布时间:2022-04-23 02:53
我来回答
共1个回答
热心网友
时间:2023-10-12 11:08
1.直接修改while的等待条件,while(USART_GetFlagStatus(USART1,
USART_FLAG_TXE)==RESET);把TC改为TXE,因为TXE只能硬件清零,在数据写进DR时就置0,数据移出时置1,可以保证数据不会在DR被覆盖;
2.既然TC位初始为1导致的问题,那么我们在使用printf函数前把TC置0也可以解决问题,
写多一句USART1->SR&=~(1<<6);
3.条件允许情况下,也可以委屈自己一下,在输出字符前面加一没用字符