背景

主控:ESP32-S3 外设:CAN 、TMC2209

环境:ESP-IDFV5.5.2

开发一个电机驱动板的时候需要把调试口从UART0改成USB Serial/JTAG Controller

因为硬件上CAN占用着UART0 不改的话会一直报以下的Warning 刷屏

不在意的话也没事就是了

Writing to serial is timing out ... supports an interactive console ... picked the correct console

说明应用在运行时把 UART0(当前用于烧录/监视的串口)对应的 GPIO43/44 切换成了 TWAI(CAN),因此 monitor 继续尝试向“串口”写入(用于交互控制台功能)时,会发现写不出去或无响应,于是超时告警。

原因分析
  • 为什么会出现这条 Warning

    • VS Code 的 ESP-IDF “一键构建烧录和监视”通常会启用交互式控制台(它会向串口写入一些控制字符或等待 REPL/console 响应)。

解决

menuconfig是vscode的ESP-IDF的配置工具,在win linux中都能用

  • 打开:如何打开这个配置界面?

    • 直接点击这个图标 就能弹出ESP-IDF终端。注意 这个终端和cmd唤出的终端是不一样的

    • 点击之后右边的侧边栏会出现 ESP-IDF Terminal的字样

    • 在终端输入:idf.py menuconfig 加载配置 等一会儿 就会弹出灰色的窗口

这时候如果你的开发环境是在win底下的,是无法用键盘上的↑ ↓键进行选择的,是因为终端不支持 ANSI 控制字符

所以请使用 j / k上下移动(亲测有效)

按照如下进行选择配置:Component config -> ESP System Settings -> Channel for console output

选择 USB Serial/JTAG Controller

重新编译烧录

即可解决问题

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐