ESP32 SPI 引脚与速率指南 · HSPI / VSPI 默认脚位与接线坑
ESP32 的 HSPI 与 VSPI 默认接哪几个脚、能跑多快、为什么屏幕就是点不亮——含可直接抄的引脚对照。
ESP32 上有几个 SPI
经典 ESP32 有 4 个 SPI 外设,但只有两个能给用户用:
- SPI0 / SPI1:留给内部 Flash 和 cache,不可用。
- SPI2(HSPI)和 SPI3(VSPI):给用户的外设,可以自由分配。
默认脚位
| 控制器 | SCLK | MISO | MOSI | CS |
|---|---|---|---|---|
| VSPI (SPI3) — 最常用 | GPIO18 | GPIO19 | GPIO23 | GPIO5 |
| HSPI (SPI2) | GPIO14 | GPIO12 | GPIO13 | GPIO15 |
HSPI 的默认 MISO 是 GPIO12——而 GPIO12 是 strapping 引脚。它在上电时决定内部稳压器的输出电压。如果你的从机把这条线拉高,芯片可能直接起不来。用 HSPI 时建议把 MISO 换到别的脚,或者确认外部电路不会改变上电电平。
能跑多快
SPI 时钟由 APB 时钟(ESP32 上 80 MHz)分频而来,理论上限 80 MHz。实际能达到的速率取决于布线:面包板和杜邦线通常 10 MHz 就够呛,PCB 上走短线上 40 MHz 比较现实。屏幕类应用常见 20–40 MHz。精确上限以官方文档为准。
本文代表的是 ESP32 经典款。S2 / S3 / C3 / C6 / H2 / P4 的 SPI 编号与默认脚位不同,请以对应型号的官方文档为准。
片选(CS)怎么处理
- 单从机可以让硬件 CS 自动拉低,但多从机时建议每个从机分配一个普通 GPIO 用软件控制——硬件 CS 在多设备场景经常出问题。
- CS 线上建议加 10 kΩ 上拉,避免上电瞬间从机被误选中。
- 不要省 CS:有些廉价模块号称「可以不用 CS」,实际在噪声环境下会锁死。
屏幕点不亮的排查顺序
- 确认用的是 VSPI(GPIO18/23)而不是被 Flash 占用的 6–11。
- DC(数据/命令)和 RST 脚有没有接对——这两个脚写错是最常见的「白屏」原因。
- 把速率降到 1 MHz 试试,能亮说明是时序/布线问题。
- 确认屏幕是 3.3 V 电平。5 V 屏直接接 ESP32 有可能已经打坏了 IO。
数据核验:2026-10-20 · 以 Espressif 官方文档交叉核对。随型号或 ESP-IDF 版本变化的字段一律标注「以官方文档为准」,不编造具体数值。
官方外设文档 →
相关页面
I²CESP32 上 I²C 该接哪两个脚、上拉电阻用多大、为什么设备扫描不到——把踩过的坑一次讲清楚,附各型号默认脚位参考。UARTESP32 三个串口各自默认接哪两个脚、为什么 UART1 用不了、下载失败时该检查什么。RMT 红外与 WS2812RMT 是 ESP32 上最被低估的外设:红外遥控、WS2812 灯带、单总线传感器都靠它。这里讲清通道数、分辨率和 Wi-Fi 干扰问题。LEDC PWMESP32 的 LEDC 有 16 路 PWM。频率和分辨率是此消彼长的关系,这里给出换算表和常用场景的推荐值。深度睡眠深度睡眠能到多少 µA、哪些脚能唤醒、醒来后数据还在吗——配合续航计算器一起用,把电池项目的账算清楚。