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

Thonny+MicroPython+ESP32开发中Shell打印输出出现乱码�的问题求助

ESP32 + MicroPython + Thonny Shell输出规律乱码的解决思路

问题场景

使用Thonny开发ESP32的MicroPython程序时,Shell窗口中print语句的输出会插入一串�乱码,且乱码的出现存在明显规律(比如固定间隔触发)。

排查与解决方法

  • 核对串口波特率
    打开Thonny右下角的串口设备配置面板,确认波特率和ESP32代码中machine.UART初始化的波特率完全一致(默认多为115200)。两者不匹配是串口乱码的最常见原因。

  • 排查硬件干扰

    • 更换一根屏蔽性好的短USB数据线,避免线材损坏或过长导致信号衰减
    • 给ESP32外接独立电源,避免电脑USB供电不足引发的传输不稳定
    • 暂时移除ESP32上的外接模块(如传感器、显示屏),排除外设对串口引脚的干扰
  • 刷新MicroPython固件
    当前使用的固件可能存在串口驱动缺陷,前往MicroPython官方下载对应ESP32型号的最新稳定版固件,通过Thonny的「工具」→「安装MicroPython到设备」重新刷入,确保刷写过程无报错。

  • 调整Thonny设置

    • 进入「工具」→「选项」→「常规」,将编码设置为UTF-8,避免编码不兼容导致的字符解析错误
    • 关闭Thonny的「实时变量监控」功能,部分场景下该功能会抢占串口资源引发输出异常
  • 降低输出频率
    如果代码中print调用过于频繁,串口缓冲区溢出会导致丢包乱码。可以在print语句后添加import time; time.sleep(0.01)这类短延迟,降低输出速率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 02:36:03