方法一:使用MCU的串口
这是最古老也是最简单的方法。
电脑上面插一个USB转TTL,然后与MCU的UART_RX/UART_TX/GND连接起来。PC端再打开一个串口调试助手。两边的波特率一致,就可以收到MCU发过来的打印信息了。
方法二:使用JLink仿真自带的虚拟串口
跟方法一类似,好处是省下一下USB转TTL的转换器。
前提条件:JLink V9及以上。
电脑连接上JLink仿真器后,会多出一个串口出来:
把MCU的RXD/TXD与仿真器连接起来,与方法一的效果相同。
仿真器端的管脚定义如下:
5脚是Jlink-TX,接MCU_RX;17脚是Jlink-RX,接MCU_TX。
方法三:使用SWO
SWO:Serial Wire Output,串行线输出.
将MCU的SWO线连接到JLink仿真器上。
程序中发送字符时调用:ITM_SendChar()函数。
int fputc(int ch, FILE *f)
{
ITM_SendChar(ch);
return ch;
}
参考:打印输出教程 | SWO打印输出配置,基于J-Link『SWO Viewer』 (qq.com)
方法四:使用JLink提供的RTT功能。
RTT = Real Time Transfer
连MCU的串口都省了。
PC端需要使用J-Link RTT Viewer查看打印信息。还可以显示不同的颜色。
参考:使用J-Link也能实现串口打印输出数据的功能 (qq.com)