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

ESP32-C3-mini-1无法通过Serial.print()在串口监视器输出求助

ESP32-C3-mini-1 Serial.print()无输出问题排查方案

问题描述

两块ESP32-C3-mini-1 v1.1开发板均可正常上传代码,带LCD的板子能按预期在屏幕输出内容;Arduino IDE已开启CRC选项,波特率、端口设置正确,线缆可正常传输数据。但两块板的Serial.print()/Serial.println()均无法在串口监视器输出内容,仅按下RST按键时能看到ESP32的重启日志。

测试代码:

#include <WiFi.h>

void setup() {
  Serial.begin(115200);
  delay(1000);  // 预留串口监视器打开时间

  Serial.print("MAC Address: ");
  Serial.println(WiFi.macAddress());  // 获取并打印MAC地址
}

void loop() {}

预期输出:MAC Address: [开发板MAC地址]

排查与解决步骤

  • 调整串口初始化延迟时间:将delay(1000)改为delay(2000)或更长,部分电脑的USB串口枚举速度较慢,1秒可能不足以让串口监视器完成连接。
  • 禁用USB CDC模式:打开Arduino IDE的「工具」菜单,找到「USB CDC On Boot」选项,设置为「Disabled」,重新上传代码。ESP32-C3默认开启的USB CDC可能会占用串口资源,导致Serial输出异常。
  • 检查串口监视器换行符设置:在串口监视器右下角,将换行符选项设为「Both NL & CR」,Serial.println()会输出换行+回车,若监视器设置不匹配,可能无法正常显示内容。
  • 简化测试代码排查WiFi影响:暂时去掉WiFi相关代码,用最基础的串口测试代码验证:
    void setup() {
      Serial.begin(115200);
      delay(2000);
      Serial.println("Hello World!");
    }
    
    void loop() {
      Serial.print("运行时长: ");
      Serial.println(millis());
      delay(1000);
    }
    
    如果这段代码能正常输出,说明原代码中WiFi.macAddress()可能存在问题,可尝试在获取MAC前添加WiFi.mode(WIFI_STA);初始化WiFi模式。
  • 更新ESP32 Arduino核心库:打开Arduino IDE的库管理器,搜索「ESP32」,找到「ESP32 by Espressif Systems」并更新到最新版本,旧版本库可能存在串口相关的兼容性bug。
  • 确认串口引脚映射:若开发板未使用默认USB转串口引脚,需在Serial.begin()中指定引脚,例如:Serial.begin(115200, SERIAL_8N1, GPIO1, GPIO0);(根据实际硬件连接调整引脚号)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 18:55:11