标题: STM32串口实验程序出错 同样的代码 只是多了一句printf("请输入信息:") [打印本页]

作者: 超级无敌菜    时间: 2020-4-25 16:56
标题: STM32串口实验程序出错 同样的代码 只是多了一句printf("请输入信息:")
小白刚自学stm32,向大神们请教一下串口问题:同样的代码 只是多了一句printf("请输入信息:");会出现如下图的结果。

stm32请教.png (197.01 KB, 下载次数: 66)

stm32请教.png

51hei浏览器截图.png (183.34 KB, 下载次数: 57)

51hei浏览器截图.png

作者: ly1972001    时间: 2020-4-30 14:20
没出错啊,挺正常的啊。循环打印  请输入信息 ,并等待输入。只是漏了换车回行,并等待发送完成。
printf("请输入信息:\r\n");
while((USART1->SR&0X40)==0);//等待发送结束

回显也要等待发送完成
作者: lance_ma    时间: 2020-4-30 16:29
要使用printf ,要自己重写fputc函数

作者: lance_ma    时间: 2020-4-30 16:31
要重写fputc函数,定位到某个UART口
int fputc(int ch, FILE *f)
{
                /* 发送一个字节数据到USART1 */
                USART_SendData(USART1, (uint8_t) ch);

                /* 等待发送完毕 */
                while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);

                return (ch);
}
作者: 须臾9q    时间: 2020-4-30 18:29
就是一个输入函数printf 需要你输入一个值




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1