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

使用Espressif IDE时ESP32-C2串口监视器显示乱码求助

ESP32-C2(ESP8684)串口监视器乱码及系统提示音问题

问题现象

  • 刷入官方Hello World示例代码后,串口监视器显示乱码,更换Espressif VSCode扩展、基于Eclipse的Espressif IDE两种开发环境后问题依旧
  • 两种环境下均尝试修改波特率,无改善
  • 在Espressif IDE中打开串口监视器时,Windows会随机响起设备连接/断开类的系统提示音
  • 操作流程:直接打开官方Hello World项目,选择正确设备与COM端口,编译刷入,未修改任何代码;多次重新安装所有软件后问题仍存在
  • 串口监视器乱码截图:串口监视器乱码

可能的解决方法

1. 确认串口波特率与代码配置完全匹配

ESP-IDF默认串口波特率由sdkconfig中的CONFIG_ESP_CONSOLE_UART_BAUDRATE控制,默认值通常为115200,但部分ESP32-C2模块可能有特殊配置:

  • 打开项目的sdkconfig文件,搜索CONFIG_ESP_CONSOLE_UART_BAUDRATE,确认数值后将串口监视器波特率设置为完全一致的值
  • VSCode环境下,可通过Ctrl+Shift+P打开命令面板,输入ESP-IDF: SDK Configuration Editor,在Component config -> ESP System Settings -> Console UART baud rate中查看并修改

2. 检查硬件连接与串口模块兼容性

  • 确认ESP32-C2的TX/RX引脚连接正确(模块TX接USB转串口模块RX,模块RX接USB转串口模块TX)
  • 更换USB转串口模块(如CH340、CP2102)尝试,部分廉价模块可能存在波特率不准或电平不兼容问题
  • 使用短且屏蔽良好的USB线,避免信号干扰
  • 确保模块供电稳定,可尝试直接通过USB转串口模块的5V/3.3V引脚供电,避免面包板供电的不稳定情况

3. 关闭串口监视器的自动波特率检测

部分IDE的串口监视器默认开启自动波特率检测,可能导致识别错误:

  • Espressif IDE中,打开串口监视器后关闭自动波特率选项,手动设置为与代码一致的波特率
  • VSCode扩展中,在串口监视器面板右下角手动指定波特率,不要选择"AUTO"模式

4. 排查Windows串口驱动问题

  • 卸载当前USB转串口驱动,重新安装官方最新驱动
  • 打开设备管理器,检查COM端口是否有黄色感叹号,若有则右键更新驱动或卸载后重新插拔设备
  • 尝试更换USB端口(优先使用主板后置USB端口,避免使用前置USB集线器)

5. 验证代码的串口输出配置

确保代码未修改默认串口输出配置,示例代码中printf默认使用UART0输出,检查sdkconfig中以下配置:

  • CONFIG_ESP_CONSOLE_UART_NUM设置为0(默认值)
  • CONFIG_ESP_CONSOLE_UART_TX_GPIO和CONFIG_ESP_CONSOLE_UART_RX_GPIO与模块引脚对应(ESP32-C2默认TX为GPIO21,RX为GPIO20)

所用Hello World代码

/*
 * SPDX-FileCopyrightText: 2010-2022 Espressif Systems (Shanghai) CO LTD
 *
 * SPDX-License-Identifier: CC0-1.0
 */

#include <stdio.h>
#include <inttypes.h>
#include "sdkconfig.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_chip_info.h"
#include "esp_flash.h"
#include "esp_system.h"

void app_main(void)
{
    printf("Hello world!\n");

    /* Print chip information */
    esp_chip_info_t chip_info;
    uint32_t flash_size;
    esp_chip_info(&chip_info);
    printf("This is %s chip with %d CPU core(s), %s%s%s%s, ",
           CONFIG_IDF_TARGET,
           chip_info.cores,
           (chip_info.features & CHIP_FEATURE_WIFI_BGN) ? "WiFi/" : "",
           (chip_info.features & CHIP_FEATURE_BT) ? "BT" : "",
           (chip_info.features & CHIP_FEATURE_BLE) ? "BLE" : "",
           (chip_info.features & CHIP_FEATURE_IEEE802154) ? ", 802.15.4 (Zigbee/Thread)" : "");

    unsigned major_rev = chip_info.revision / 100;
    unsigned minor_rev = chip_info.revision % 100;
    printf("silicon revision v%d.%d, ", major_rev, minor_rev);
    if(esp_flash_get_size(NULL, &flash_size) != ESP_OK) {
        printf("Get flash size failed");
        return;
    }

    printf("%" PRIu32 "MB %s flash\n", flash_size / (uint32_t)(1024 * 1024),
           (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");

    printf("Minimum free heap size: %" PRIu32 " bytes\n", esp_get_minimum_free_heap_size());

    for (int i = 10; i >= 0; i--) {
        printf("Restarting in %d seconds...\n", i);
        vTaskDelay(1000 / portTICK_PERIOD_MS);
    }
    printf("Restarting now.\n");
    fflush(stdout);
    esp_restart();
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 18:30:17