当前位置: 首页 > ai >正文

在 ESP32 开发中,配置默认的串口打印

在 ESP32 开发中,默认的串口打印(日志输出)通常通过 UART0(GPIO1-TX 和 GPIO3-RX)输出。以下是配置和修改默认打印串口的详细方法:


1. 默认串口打印配置

ESP-IDF 默认使用 UART0 作为日志输出通道,波特率通常为 115200
连接方式:

  • TX (GPIO1) → USB转串口模块的 RX

  • RX (GPIO3) → USB转串口模块的 TX

查看默认日志

烧录程序后,使用以下命令监视日志:

bash

复制

下载

idf.py -p /dev/ttyUSB0 monitor

或使用 screen/minicom

bash

screen /dev/ttyUSB0 115200

2. 修改默认打印串口

如果需要更改日志输出的 UART 端口(例如改用 UART1 或禁用日志),可以通过 menuconfig 配置:

(1) 进入配置菜单

bash

复制

下载

idf.py menuconfig

(2) 修改串口配置

导航至:

复制

下载

Component config → ESP System Settings → Channel for console output

选项:

  • Default UART(默认 UART0,GPIO1/GPIO3)

  • Custom UART(自定义 TX/RX 引脚)

  • None(禁用日志输出)

示例:改为 UART1(GPIO9-TX, GPIO10-RX)
  1. 选择 Custom UART

  2. 设置:

    • UART TX pin → 9(或其他 GPIO)

    • UART RX pin → 10(可选,仅用于输入)

    • UART baud rate → 115200(可调整)

(3) 保存并编译

按 S 保存,Q 退出,然后重新编译:

bash

复制

下载

idf.py build flash monitor

3. 通过代码动态修改打印串口

也可以在代码中调用 esp_log_set_vprintf() 或修改 UART 配置:

c

#include "driver/uart.h"
#include "esp_log.h"void app_main() {// 更改日志串口为 UART1(GPIO9-TX)uart_config_t uart_config = {.baud_rate = 115200,.data_bits = UART_DATA_8_BITS,.parity = UART_PARITY_DISABLE,.stop_bits = UART_STOP_BITS_1,.flow_ctrl = UART_HW_FLOWCTRL_DISABLE};uart_param_config(UART_NUM_1, &uart_config);uart_set_pin(UART_NUM_1, 9, 10, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE);uart_driver_install(UART_NUM_1, 1024, 0, 0, NULL, 0);// 重定向日志到 UART1esp_log_set_vprintf(&my_uart_printf); // 需自定义 my_uart_printf
}

4. 禁用串口日志输出

如果不需要日志,可以在 menuconfig 中选择 None,或直接关闭日志级别:

// 在代码中禁用所有日志
esp_log_level_set("*", ESP_LOG_NONE);

5. 常见问题

(1) 日志乱码

  • 检查波特率是否匹配(默认 115200)。

  • 确保 USB 转串口模块稳定(如 CP2102/CH340)。

(2) 修改后无输出

  • 确认 GPIO 引脚未被占用(如 UART1 默认用于 Flash,需避免冲突)。

  • 检查 menuconfig 配置是否生效(清理并重新编译)。

(3) 多串口同时使用

  • ESP32 有 3 个 UART(UART0/UART1/UART2),但 UART1 的 TX 引脚(GPIO9)可能与 Flash 冲突,需谨慎选择。


总结

需求方法
默认日志串口UART0(GPIO1-TX, GPIO3-RX),波特率 115200
修改日志串口menuconfig → Component config → ESP System Settings → Channel for console output
禁用日志menuconfig 选择 None 或代码设置 esp_log_level_set("*", ESP_LOG_NONE)
动态配置串口调用 uart_param_config() + uart_set_pin()

通过以上方法,可以灵活配置 ESP32 的日志输出串口。

http://www.xdnf.cn/news/4145.html

相关文章:

  • Java项目部署-Springboot+Vue网页部署上线全教程
  • 浏览器开发者工具Network面板中复制请求的相关信息(结合PostMan)
  • Core Web Vitals优化
  • 泰迪杯特等奖案例学习资料:基于卷积神经网络与集成学习的网络问政平台留言文本挖掘与分析
  • iOS开发工程师简历模板
  • 【旅游网站设计与实现】基于SpringBoot + Vue 的前后端分离项目 | 万字详细文档 + 源码 + 数据库 + PPT
  • 最新版Anaconda和PyCharm安装
  • 恩智浦 GoPoint 全面解析:初学者的嵌入式 AI 学习指南
  • C++GO语言微服务项目之go语言概述
  • 【AI】Ubuntu 22.04 4060Ti 16G vllm-api部署Qwen3-8B-FP8
  • 模型迭代与调优:加速实验周期,释放创新潜能
  • Os 库报错指南 路径处理常见陷阱
  • Hello Robot 推出Stretch 3移动操作机器人 提升开源与可用性
  • 从 MDM 到 Data Fabric:下一代数据架构如何释放 AI 潜能
  • 洛谷---P1629 邮递员送信
  • C语言 指针(7)
  • 第一节:Web3开发概述
  • 修复CosyVoice中的ModuleNotFoundError: No module named ‘diffusers.models.lora‘记录
  • SQLite数据类型
  • 嵌入式面试八股文(十四)·内存管理机制、优先级继承机制以及优先级翻转
  • 【日撸 Java 三百行】Day 4(条件语句实战——闰年问题)
  • 【BUG】mmdetection ValueError: need at least one array to concatenate
  • 人事管理系统7
  • 【Python 文件I/O】
  • 【Harbor v2.13.0 详细安装步骤 安装证书启用 HTTPS】
  • 【AI】Ubuntu 22.04 evalscope 模型评测 Qwen3-4B-FP8
  • 上传下载接口
  • Android第六次面试总结之Java设计模式(二)
  • vue3+ts+自定义指令,生产页面水印
  • 云计算训练营笔记day02(Linux、计算机网络、进制)