嵌入式硬件篇---ESP32串口篇


文章目录

  • 前言
  • 一、ESP32-S3 芯片串口基础特性
    • (一)硬件资源
      • 更高性能
      • 引脚灵活性
      • 增强功能
    • (二)UART 控制器对比
  • 二、ESP32-S3-DevKitC-1 开发板串口设计
    • (一)板载 USB 转串口芯片
    • (二)用户可用串口引脚
  • 三、串口编程实践(Arduino 框架)
    • (一)基础配置示例
    • (二)高级功能配置
      • 启用硬件流控制
      • 设置 DMA 传输(适合大数据量通信)
      • 中断驱动接收
  • 四、典型应用场景
    • (一)多设备通信
    • (二)工业协议支持
    • (三)红外遥控(IrDA)
  • 五、注意事项
    • 引脚电平
    • 引脚复用
    • 功耗优化
    • 波特率限制
  • 六、资源链接
    • 官方文档:
    • 开发工具:


前言

本文简单介绍了乐鑫 ESP32-S3-DevKitC-1的串口。(三个串口)
乐鑫 ESP32-S3-DevKitC-1 是基于 ESP32-S3 芯片的开发板,专为物联网应用设计,提供了丰富的通信接口,包括多个串口。以下是其串口功能的详细介绍:


一、ESP32-S3 芯片串口基础特性

(一)硬件资源

ESP32-S3 芯片集成了3 个 UART 控制器(UART0/1/2),相比前代 ESP32:

更高性能

更高性能:支持高达5 Mbps的波特率(部分场景可达 8 Mbps)。

引脚灵活性

引脚灵活性:所有 UART 引脚均可通过 GPIO 矩阵重映射(除 JTAG 专用引脚外)。

增强功能

增强功能:支持自动流量控制、红外通信(IrDA)、Modbus 协议等扩展应用。

(二)UART 控制器对比

特性 UART0 UART1 UART2
默认用途 调试日志、下载程序 用户自定义通信 用户自定义通信
默认引脚 TXD0: GPIO43
RXD0: GPIO44 TXD1: GPIO47
RXD1: GPIO46 TXD2: GPIO17
RXD2: GPIO18
流控制引脚 CTS0: GPIO41
RTS0: GPIO40 CTS1: GPIO39
RTS1: GPIO38 CTS2: GPIO37
RTS2: GPIO36
波特率范围 1200 ~ 5000000 bps 1200 ~ 5000000 bps 1200 ~ 5000000 bps
FIFO 深度 128 字节 128 字节 128 字节

二、ESP32-S3-DevKitC-1 开发板串口设计

(一)板载 USB 转串口芯片

开发板集成了CP2102N或FT232RL芯片(具体型号取决于版本),提供:

USB 转 UART0:通过 Type-C 接口连接电脑,用于程序下载和调试日志输出。
自动下载电路:内置 EN/RST 控制电路,上传程序时自动复位 ESP32-S3。

(二)用户可用串口引脚

开发板将部分 UART 引脚引出到排针,方便外接设备:

UART TX 引脚 RX 引脚 CTS 引脚 RTS 引脚 物理位置(排针)
UART0 GPIO43 GPIO44 GPIO41 GPIO40 IO_MUX 区域
UART1 GPIO47 GPIO46 GPIO39 GPIO38 IO_MUX 区域
UART2 GPIO17 GPIO18 GPIO37 GPIO36 IO_MUX 区域

注意:UART0 的 TXD0/RXD0 默认连接到板载 USB 转串口芯片,用户通常无需手动配置。

三、串口编程实践(Arduino 框架)

(一)基础配置示例

#include 

void setup() 

你可能感兴趣的:(嵌入式硬件篇,嵌入式硬件,单片机,stm32,ESP32)