ESP32-S3-CAM:认识引脚

越来越发现做什么硬件接入都要先初始化引脚,板子自带的SD卡槽,摄像头插座,还有些板载的LED灯之类的,其实都是默认会占用一些引脚,看来需要系统的学习一下。

刚开始发现淘宝卖家里头有张这样的图,是介绍各个引脚的。

丢给Kimi以后给了一堆的如下解读:

这是一张 ESP32-S3-CAM 开发板的引脚定义图。让我详细解释各个引脚的含义和功能:

图例说明(左侧颜色标签)

颜色 英文标签 中文含义
🔴 红色 Power 电源引脚
⚫ 黑色 Ground 接地引脚
🔵 蓝色 Serial 串口调试/编程引脚
🟢 绿色 ADCX_CH 模拟数字转换器通道
🟡 黄色 RESET 复位芯片
🟠 橙色 GPIO 通用输入输出引脚
🟣 紫色 TOUCHX 触摸传感器输入通道
🟤 棕色 STRAPPING Strapping 引脚(启动配置)
🔵 浅蓝 SD 板载 SD 卡引脚
🟢 浅绿 LED 板载 LED 引脚
🩷 粉色 WS2812 板载 WS2812 RGB LED 引脚
🟣 紫红 PSRAM 外扩内存芯片引脚
🟡 浅黄 USB USB 功能引脚
🟢 青绿 CAMERA 摄像头引脚
🔵 深蓝 JTAG 调试接口引脚
⚡ 波浪线 PWM 支持 PWM 功能的引脚

核心芯片信息

ESP32-S3-N16R8

  • N16: 16MB Flash(闪存)

  • R8: 8MB PSRAM(外扩内存)


左侧引脚详细说明(从上到下)

引脚号 GPIO 功能标签 说明
1 3V3 电源 3.3V 电源输出
2 RST 复位 芯片复位引脚
3 GPIO4 CAM_SIOD / ADC1_CH3 摄像头 I2C 数据 / ADC1 通道3
4 GPIO5 CAM_SIOC / ADC1_CH4 摄像头 I2C 时钟 / ADC1 通道4
5 GPIO6 CAM_VSYNC / ADC1_CH5 摄像头垂直同步信号 / ADC1 通道5
6 GPIO7 CAM_HREF / ADC1_CH6 摄像头水平参考信号 / ADC1 通道6
7 GPIO15 CAM_XCLK / ADC2_CH4 摄像头外部时钟 / ADC2 通道4
8 GPIO16 CAM_Y9 / ADC2_CH5 摄像头数据线 Y9 / ADC2 通道5
9 GPIO17 CAM_Y8 / ADC2_CH6 摄像头数据线 Y8 / ADC2 通道6
10 GPIO18 CAM_Y7 / ADC2_CH7 摄像头数据线 Y7 / ADC2 通道7
11 GPIO8 CAM_Y6 / ADC1_CH7 摄像头数据线 Y6 / ADC1 通道7
12 GPIO3 JTAG_EN / ADC1_CH2 JTAG 调试使能 / ADC1 通道2
13 GPIO46 LOG 日志输出引脚
14 GPIO9 CAM_Y3 / ADC1_CH8 摄像头数据线 Y3 / ADC1 通道8
15 GPIO10 CAM_Y5 / ADC1_CH9 摄像头数据线 Y5 / ADC1 通道9
16 GPIO11 CAM_Y2 / ADC2_CH0 摄像头数据线 Y2 / ADC2 通道0
17 GPIO12 CAM_Y6 / ADC2_CH1 摄像头数据线 Y6 / ADC2 通道1
18 GPIO13 CAM_PCLK / ADC2_CH2 摄像头像素时钟 / ADC2 通道2
19 GPIO14 ADC2_CH3 ADC2 通道3(通用 GPIO)
20 5V 电源 5V 电源输入

右侧引脚详细说明(从上到下)

引脚号 GPIO 功能标签 说明
21 GPIO43 U0TXD / LED_TX 串口0发送 / LED 发送指示
22 GPIO44 U0RXD / LED_RX 串口0接收 / LED 接收指示
23 GPIO1 ADC1_CH0 ADC1 通道0(通用 GPIO)
24 GPIO2 ADC1_CH1 / LED_ON ADC1 通道1 / LED 控制
25 GPIO42 MTMS JTAG 模式选择
26 GPIO41 MTDI JTAG 数据输入
27 GPIO40 SD_DATA / MTDO SD卡数据 / JTAG 数据输出
28 GPIO39 SD_CLK / MTCK SD卡时钟 / JTAG 时钟
29 GPIO38 SD_CMD SD卡命令
30 GPIO37 PSRAM 外扩内存
31 GPIO36 PSRAM 外扩内存
32 GPIO35 PSRAM 外扩内存
33 GPIO0 Boot 启动模式选择(Strapping 引脚)
34 GPIO45 VSPI 虚拟 SPI
35 GPIO48 WS2812 板载 RGB LED
36 GPIO47 - 通用 GPIO
37 GPIO21 - 通用 GPIO
38 GPIO20 USB_D- / ADC2_CH9 USB 数据负 / ADC2 通道9
39 GPIO19 USB_D+ / ADC2_CH8 USB 数据正 / ADC2 通道8
40 GND 接地 地线

关键功能区域

📷 摄像头接口(中间白色连接器)

  • 24pin FPC 连接器

  • 连接 OV2640 / OV3660 / OV5640 等摄像头模组

  • 包含:8位数据线 + I2C控制 + 时钟 + 同步信号

💾 SD卡槽(板载)

  • 使用 GPIO 38-40 专用引脚

  • 与摄像头完全独立,无引脚冲突

🔌 USB 接口(底部)

  • 左侧 USB: USB-to-UART 转串口(用于下载程序)

  • 右侧 USB: 原生 USB OTG(用于 USB 设备模式)

🎨 WS2812 RGB LED

  • GPIO48 控制

  • 可编程彩色 LED


重要提示

  1. Strapping 引脚(GPIO0, 3, 45, 46):启动时电平决定芯片启动模式,使用时需谨慎

  2. 摄像头数据线顺序 :这是 AI-Thinker 标准(Y2-Y9 对应 GPIO 11,9,8,10,12,18,17,16)

  3. SD卡优势:使用独立 GPIO(38-40),不与摄像头冲突,可同时使用

  4. PSRAM:GPIO 37-35 用于连接 8MB 外扩内存,对摄像头高分辨率模式至关重要

这张图显示的是 AI-Thinker 兼容版本的 ESP32-S3-CAM,与之前讨论的您的板子引脚配置一致!

USB口有两个,也追问了下有什么区别。

两个USB插孔的作用对比

对比项 USB-to-TTL USB OTG
本质 外接转换芯片 ESP32 内置 USB 控制器
连接 通过 CH340 转接 直连 ESP32-S3
引脚 GPIO43/44 (TX0/RX0) GPIO19/20 (USB_D+/D-)
协议 UART (串口) USB 2.0
速度 低速 (Mbps级) 12 Mbps
功能 只能串口通信 可模拟各种 USB 设备
用途 烧录、调试 USB 功能扩展
识别 电脑显示为 COM 端口 电脑显示为 USB 设备

网上找了下乐鑫的官网,找到了些变成官方文档,先做个记录吧。

https://docs.espressif.com/projects/esp-idf/zh_CN/stable/esp32s3/index.html

https://www.espressif.com.cn/zh-hans/products/socs/esp32/resources?sort=asc&order=field_platform

专用引脚

下午碰到一个问题,折腾了好久,将LRC,BCLK DIN 三个针脚连到了 35 36 37 针脚,导致死活播放不出来任何声音。还到一些通用的针脚以后就好了,比如21,47,41口,问了AI,说是

GPIO 35、36、37 在 ESP32-S3 上属于 SPI IO(SPI 专用引脚),存在以下限制:

表格

引脚 功能 限制
GPIO35 SPICS(片选) 上电时为 SPI 模式,可能冲突
GPIO36 SPICLK(时钟) 上电时为 SPI 模式,可能冲突
GPIO37 SPIQ(数据) 上电时为 SPI 模式,可能冲突

ESP32-S3 的 SPI 控制器(SPI2/SPI3)可能在上电时占用这些引脚,导致 I2S 无法正常使用。

ESP32-S3 引脚冲突速查表

引脚 功能 状态 说明
GPIO35 SPIIO6 / SPICS1 ❌ 避开 SPI2 专用,上电即占用
GPIO36 SPIIO7 / SPICLK ❌ 避开 SPI2 专用,上电即占用
GPIO37 SPIDQS / SPIQ ❌ 避开 SPI2 专用,上电即占用
GPIO38 FSPIWP / SD_CMD ⚠️ 注意 与 SD 卡 CMD 冲突
GPIO39 FSPIHD / SD_D0 ⚠️ 注意 与 SD 卡 D0 冲突
GPIO40 FSPIWP / SD_D1 ⚠️ 注意 与 SD 卡 D1 冲突
GPIO41 FSPIHD / SD_D2 ⚠️ 注意 与 SD 卡 D2 冲突
GPIO42 MTMS / SD_D3 ⚠️ 注意 与 SD 卡 D3 冲突
GPIO26 SPICS1 / DAC2 ⚠️ 注意 SPI 备用 / 旧版 DAC
GPIO27 SPIHD / DAC1 ⚠️ 注意 SPI 备用 / 旧版 DAC
GPIO0 BOOT / STRAPPING ⚠️ 注意 上电电平决定启动模式
GPIO3 STRAPPING ⚠️ 注意 上电必须低电平
GPIO45 VDD_SPI ⚠️ 注意 上电电平配置
GPIO46 STRAPPING ❌ 避开 上电必须低电平,否则进下载模式

安全引脚推荐(I2S/通用)

类型 推荐引脚
首选 GPIO8, GPIO17, GPIO18, GPIO5, GPIO6, GPIO7
次选 GPIO15, GPIO16, GPIO4, GPIO2, GPIO1
可用 GPIO9, GPIO10, GPIO11, GPIO12, GPIO13, GPIO14
高编号 GPIO43, GPIO44, GPIO47, GPIO48(通常可用)
相关推荐
wregjru2 小时前
【网络】6.UDP和TCP原理
单片机·嵌入式硬件
干啥都是小小白2 小时前
2.创建你的第一个FreeRTOS任务(动态与静态)
stm32·单片机
芯联智造3 小时前
【stm32简单外设篇】- 震动传感器
c语言·stm32·单片机·嵌入式硬件
Hello_Embed3 小时前
LVGL 入门(八):标签控件 lv_label
前端·笔记·stm32·单片机·嵌入式
天天爱吃肉82183 小时前
新能源汽车电机台架测试功率分析仪问题梳理(理论+实操)
功能测试·嵌入式硬件·汽车
梁洪飞3 小时前
armv7a和uboot里面的重要概念
arm开发·嵌入式硬件·arm
海阔天空任鸟飞~12 小时前
蓝汛-BT897-添加按键提示音
c语言·单片机·蓝汛
yrx02030713 小时前
stm32单线串口(空闲中断+DMA接收+阻塞式发送)模式控制舵机
stm32·单片机·嵌入式硬件·单线串口
雾削木13 小时前
STM32HAL输入捕获定时器测量PWM频率和占空比
stm32·单片机·嵌入式硬件