重写putchat
usart.c->/* USER CODE BEGIN 0 */
#include <stdio.h>
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
PUTCHAR_PROTOTYPE {
//具体哪个串口可以更改USART1为其它串口
while ((USART1->SR & 0X40) == 0) ; //循环发送,直到发送完毕
USART1->DR = (uint8_t) ch;
return ch;
}
更改标准输出流设置
usart.c->/* USER CODE BEGIN USART1_Init 0 */
// Disable buffering for stdout
setvbuf(stdout, NULL, _IONBF, 0);
注:
在 stdio.h 头文件中,标准输出流 stdout 使用缓冲区(buffered)输出,这就是为什么在默认情况下会自动添加 \r\n。要更改这一设置,您可以使用 setvbuf 函数将标准输出流设置为无缓冲(unbuffered)模式。