78 lines
3.8 KiB
Markdown
78 lines
3.8 KiB
Markdown
|
||
|ST7789 屏幕引脚|ESP32-S3 CAM 物理 GPIO|核心功能|备注(无冲突 / 安全)|
|
||
|---|---|---|---|
|
||
|SCL / SCK|GPIO12|SPI 时钟|纯通用 IO,无板载功能|
|
||
|SDA / MOSI|GPIO11|SPI 数据|纯通用 IO,无板载功能|
|
||
|CS|GPIO10|片选|纯通用 IO,无板载功能|
|
||
|DC / RS|GPIO9|数据 / 命令|纯通用 IO,无板载功能|
|
||
|RST|GPIO13|复位|纯通用 IO,无板载功能|
|
||
|BL|GPIO14|背光控制|纯通用 IO,无板载功能|
|
||
|VCC|3.3V|供电|**严禁接 5V**|
|
||
|GND|GND|接地|必须共地|
|
||
|
||
|
||
LCD_PIN_MOSI = 42
|
||
LCD_PIN_SCLK = 21
|
||
LCD_PIN_CS = 45
|
||
LCD_PIN_DC = 47
|
||
LCD_PIN_RST = 46
|
||
LCD_PIN_BL = 14
|
||
|
||
### 🚨 核心硬件问题分析(结合你的 ESP32-S3-CAM 引脚图)
|
||
|
||
根据你提供的开发板引脚图,我发现了**3 个致命硬件问题**,这直接导致屏幕无显示:
|
||
|
||
---
|
||
|
||
#### 1. 「SPI 时钟 / 数据引脚与 USB 功能冲突」
|
||
|
||
你代码中使用的 `GPIO19(SCLK)` 和 `GPIO20(MOSI)`,在你的 ESP32-S3-CAM 板上是**USB_D + 和 USB_D-** 引脚(看放大的引脚图)。
|
||
|
||
- 当你用 USB 线连接电脑供电 / 调试时,这两个引脚会被**USB 控制器强制占用**,无法作为 SPI 总线使用,导致 SPI 通信完全失败,屏幕无响应。
|
||
- 即使不接 USB,这两个引脚也有内部的 USB 电路,可能存在信号干扰,不适合做 SPI 高速信号。
|
||
|
||
#### 2. 「背光引脚 GPIO38 与板载 SD 卡电路冲突」
|
||
|
||
你使用的 `GPIO38(BL)`,在开发板上是**SD 卡的 SD_CMD 引脚**:
|
||
|
||
- 板载 SD 卡电路会给 GPIO38 加上拉 / 下拉电阻,你外接的背光信号会被干扰,导致背光无法正常点亮,屏幕一直黑屏。
|
||
- 即使背光勉强点亮,也可能因为信号冲突导致屏幕工作不稳定。
|
||
|
||
#### 3. 「引脚选择不符合 ESP32-S3 的 SPI 硬件映射」
|
||
|
||
ESP32-S3 的硬件 SPI 有固定的映射关系,你之前的代码用了 `SPI(1)`,但 `GPIO19/20` 根本不是硬件 SPI 的引脚,导致 SPI 无法初始化,无法发送任何数据。
|
||
|
||
---
|
||
|
||
### ✅ 修正方案:更换无冲突的引脚
|
||
|
||
根据你的开发板引脚图,为你重新选择一套**无任何板载功能冲突、适合 SPI 的引脚**,并修改代码:
|
||
|
||
表格
|
||
|
||
| 功能 | 原引脚 | 新引脚 | 新引脚说明 |
|
||
| -------- | ------ | ------ | ---------------------- |
|
||
| SPI_SCLK | GPIO19 | GPIO12 | CAM_Y2,无板载功能,通用 GPIO |
|
||
| SPI_MOSI | GPIO20 | GPIO11 | CAM_Y3,无板载功能,通用 GPIO |
|
||
| SPI_CS | GPIO45 | GPIO10 | CAM_Y4,无板载功能,通用 GPIO |
|
||
| DC/RS | GPIO47 | GPIO9 | CAM_Y5,无板载功能,通用 GPIO |
|
||
| RST | GPIO21 | GPIO13 | CAM_PCLK,无板载功能,通用 GPIO |
|
||
| BL 背光 | GPIO38 | GPIO14 | CAM_HREF,无板载功能,通用 GPIO |
|
||
|
||
### 📋 最终定型无冲突引脚表(永久保存)
|
||
|
||
表格
|
||
|
||
| LCD 功能 | ST7789 引脚 | ESP32-S3 CAM 分配 GPIO | 冲突检查 | 状态 |
|
||
| ------- | --------- | -------------------- | ----------------- | ---- |
|
||
| SPI 时钟 | SCK/SCL | **GPIO21** | 未被摄像头 / USB/SD 占用 | ✅ 安全 |
|
||
| SPI 数据 | MOSI/SDA | **GPIO42** | 未被摄像头 / USB/SD 占用 | ✅ 安全 |
|
||
| 片选 | CS | **GPIO45** | 未被摄像头 / USB/SD 占用 | ✅ 安全 |
|
||
| 数据 / 命令 | DC/RS | **GPIO47** | 未被摄像头 / USB/SD 占用 | ✅ 安全 |
|
||
| 复位 | RST | **GPIO46** | 未被摄像头 / USB/SD 占用 | ✅ 安全 |
|
||
| 背光 | BL | **GPIO14** | 未被摄像头 / USB/SD 占用 | ✅ 安全 |
|
||
| 供电 | VCC | 3.3V | - | ✅ |
|
||
| 接地 | GND | GND | - | ✅ |
|
||
| | | | | |
|
||
|