CH32V103芯片 使用printf函数时 打印内容不加后缀“\r\n”时 不能实时打印

CH32V103芯片 使用printf函数时 打印内容不加后缀“\r\n”时 不能实时打印,为什么?

例如 printf("hello");  

串口工具会很久之后打印出一堆hello,类似下图;图片.png


如果我想要实时显示出来怎么弄?不要\r\n的结束符

您好,可通过MRS的配置实现您所需功能。操作如图:

image.png


这个功能是什么意思呢 能介绍一下嘛



Use wchprintf(-lprintf)是启用我们自己的printf库,这个库比其他的printf库代码更精简,可以用于减小代码开销。


这次官方工程师有点答非所问了。没有换行符的话,数据可能会呆在缓冲区里不出来,直到缓冲区满。一般用flush之类的函数强制输出就行。


https://stackoverflow.com/questions/1716296/why-does-printf-not-flush-after-the-call-unless-a-newline-is-in-the-format-strin


谢谢,解答


wchprintf 是沁恒精简过的printf实现,没有缓冲区并且只实现了常用的 format 标签,因此对 flash 空间的占用更小并且会立即打印数据。


只有登录才能回复,可以选择微信账号登录