STM32
直播中

陈燕

7年用户 1099经验值
私信 关注
[问答]

STM32使用printf打印打印数据的时候不定期对丢第一个数据怎么解决?

STM32使用printf打印打印数据的时候不定期对丢第一个数据怎么解决?

回帖(1)

胡小娟

2021-12-1 13:54:42
将定向打印函数添加一句  USART_ClearFlag(USART1,USART_FLAG_TC);  可以解决丢失第一个数据的问题,代码改成下面


int fputc(int ch, FILE *f)
{
     USART_ClearFlag(USART1,USART_FLAG_TC);  

        USART_SendData(USART1, (uint8_t) ch);
        

        while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);        
   
        return (ch);
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分