You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code内置串口监视器无输出,但其他串口监视器正常如何解决?

Raspberry Pi Pico串口输出在VS Code监视器无显示的解决方法

问题情况

我用Raspberry Pi Pico运行以下Hello World程序,Arduino IDE和PuTTY的串口监视器能正常每秒收到Hello, world!,但VS Code内置串口监视器完全没输出。已经确认COM端口正确(关闭Pico电源时VS Code串口终端会关闭),调整波特率也没用。

运行的代码

#include <stdio.h>
#include "pico/stdlib.h"

int main() {
    stdio_init_all();
    while (true) {
        printf("Hello, world!\n");
        sleep_ms(1000);
    }
    return 0;
}

可行的解决步骤

  • 检查换行符匹配
    Pico代码里用的是\n(LF换行),VS Code串口监视器默认可能设置为CRLF或者其他格式。点击VS Code串口监视器右上角的设置图标,把换行符选项改成LF,再重新打开监视器试试。

  • 再次确认波特率
    Pico的stdio_init_all()默认波特率是115200,即使你调整过,再仔细核对VS Code串口监视器的波特率是否设为115200,有时候可能不小心选了其他值。

  • 关闭VS Code串口监视器的额外功能
    有些串口扩展的自动换行、输出过滤等功能可能干扰显示。尝试关闭这些附加设置,只保留基础的串口接收功能。

  • 更换VS Code串口扩展
    如果用的是微软默认的Serial Monitor,可以换成第三方扩展,比如PlatformIO自带的串口监视器,或者Serial Port Monitor这类工具,不同扩展的串口处理逻辑可能不一样。

  • 给串口初始化加延迟
    Pico的串口初始化可能需要一点时间,VS Code可能在串口就绪前就打开了监视器。在代码里stdio_init_all()之后加一段延迟再开始输出:

    stdio_init_all();
    sleep_ms(1000); // 增加1秒延迟,等待串口完全初始化
    while (true) {
        printf("Hello, world!\n");
        sleep_ms(1000);
    }
    

    重新烧录程序后再测试VS Code监视器。

内容的提问来源于stack exchange,提问作者Alix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 08:04:57