CH32V103芯片 使用printf函数时 打印内容不加后缀“\r\n”时 不能实时打印,为什么?
例如 printf("hello");
串口工具会很久之后打印出一堆hello,类似下图;
如果我想要实时显示出来怎么弄?不要\r\n的结束符
CH32V103芯片 使用printf函数时 打印内容不加后缀“\r\n”时 不能实时打印,为什么?
例如 printf("hello");
串口工具会很久之后打印出一堆hello,类似下图;
如果我想要实时显示出来怎么弄?不要\r\n的结束符
您好,可通过MRS的配置实现您所需功能。操作如图:
这个功能是什么意思呢 能介绍一下嘛
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 空间的占用更小并且会立即打印数据。