printf 重定向
printf 默认输出到调试器(半主机模式),MCU 独立运行时需要用 microlib + fputc 重定向到实际外设。
两种常用方式:
| 方式 | 输出目标 | 速度 | 需要硬件 | 笔记 |
|---|---|---|---|---|
| UART | 串口助手 | 受波特率限制 | USB转TTL / 板载串口 | UART printf配置 |
| RTT | J-Link 终端 | 极快(SRAM直写) | J-Link 调试器 | RTT printf配置 |
前提
打开 microlib,否则 printf 走半主机模式会导致程序卡死。
UART 重定向
在 usart.c 中实现 fputc,调用 HAL_UART_Transmit 逐字节发送。
RTT 重定向
在 usart.c 中实现 fputc,调用 SEGGER_RTT_PutChar 写入 RTT 缓冲区。
详见 RTT使用
💡 需要格式输出(彩色分级、日志过滤、按标签存储)看 EasyLogger,使用教程将在此更新。