ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ESP32-S3 Mini还是C3 Mini?先搞清楚PSRAM和USB再下单

ESP32-S3 Mini还是C3 Mini?先搞清楚PSRAM和USB再下单 搜过开发板的人基本都见过这个场面同样叫 Mini左边是 ESP32-S3 Mini右边是 ESP32-C3 Mini板型长得几乎一样Type-C 口都在同一个位置价格却能差出一截。商家页面都写着“WiFi 蓝牙 USB”看起来 S3 只是“性能更强的 C3”于是不少人直接挑了便宜的 C3结果买回来想跑 LVGL 画个仪表盘卡成 PPT想给电脑做个无线键鼠接收器发现芯片压根不支持 USB HID想用 MicroPython 处理点传感器数据又频繁 MemoryError——问题就出在 PSRAM 和 USB 这两件容易被忽略的事情上。这篇文章我就把 S3 Mini 和 C3 Mini 的差别拆开讲清楚从芯片选型、PSRAM 到底有多大用到那个 Type-C 口背后完全不同的 USB 能力最后整理出一张可以直接对着核对的采购清单。无论你是刚开始玩嵌入式还是准备给手头项目换 MCU这篇都值得看完再下单。1. 先弄清楚 S3 和 C3 的关系不是大小号是两个方向1.1 芯片本身的家底很多新手会把 S3 和 C3 的关系理解成“iPhone 14 和 iPhone 14 Pro”觉得只是一个强一个弱。实际上这两颗芯片在乐鑫产品线里的定位完全不同连 CPU 架构都不一样。先看一张直接对比表项目ESP32-S3ESP32-C3CPU 架构双核 Xtensa LX7最高 240 MHz单核 RISC-V RV32IMC最高 160 MHz片上 SRAM512 KB400 KB扣除 Cache 后可用约 384 KB外部 PSRAM支持常见 2 MB / 8 MB不支持芯片没有 PSRAM 控制器USB 能力原生 USB OTG全速 USB 1.1可做 HID/MSC/CDC/DFU/Host仅有 USB Serial/JTAG只能当虚拟串口和调试口WiFi / 蓝牙2.4GHz 802.11 b/g/n BLE 5.02.4GHz 802.11 b/g/n BLE 5.0AI 加速支持向量指令适合语音/图像前端处理无常见封装后缀N4/N8 代表内置 4/8MB FlashR2/R8 代表内置 2/8MB PSRAMFN4/FH4 等代表内置 4MB Flash无 PSRAM这里有个关键点WiFi 和蓝牙规格两者几乎一样都是 2.4GHz 单频都支持 BLE 5.0也都不支持经典蓝牙。很多人以为 C3 的无线比 S3 差实际不是两者射频能力基本持平。真正拉开差距的是 CPU 算力、内存上限和 USB 外设。S3 是双核 Xtensa带 AI 向量指令可以用来跑语音唤醒、图像前端处理这种偏重的负载C3 是单核 RISC-V定位就是低成本替代传统 MCU做灯、传感器、开关、简单联网设备这些活。1.2 为什么乐鑫要同时推这两种架构这个问题想明白了选型思路就清晰了。C3 用 RISC-V 核心成本低、授权费低非常适合大规模量产的价格敏感型 IoT 产品。ESP32-C3 的实际售价长期比 ESP32 经典款更低功耗表现也更好做一个锂电池供电的温湿度节点、门窗传感器C3 是非常划算的选择。S3 则走的是“高性能多媒体复杂交互”路线。双核、大 SRAM、PSRAM 支持、原生 USB OTG、向量指令这些堆在一起使它可以承接需要图形界面、摄像头、音频、USB 外设、甚至轻量 AI 的终端设备。所以你选板子的第一步不是纠结 S3 Mini 还是 C3 Mini而是先想清楚你的应用负载在哪里。只有 GPIO 翻转、串口透传、MQTT 上报这种活C3 Mini 绰绰有余一旦涉及屏幕、图像、音频缓冲、USB 枚举成外设C3 的短板就会非常明显。2. PSRAM 这件事C3 纠结不起来S3 也不该忽视2.1 PSRAM 到底是个什么“伪内存”PSRAM 全称 Pseudo Static Random Access Memory翻译过来是“伪静态随机存储器”。名字很绕但理解起来并不难。你可以把 PSRAM 想象成“用 DRAM 的存储颗粒做出来的 SRAM 样子”——它容量大、价格低但内部本质是 DRAM需要周期性刷新数据而刷新逻辑被封装在芯片里对外接口又表现得像 SRAM所以叫“伪静态”。跟电脑一样MCU 的片上 SRAM 相当于 CPU 内置缓存快但容量有限PSRAM 相当于外插的内存条便宜、容量大代价是访问速度略慢。S3 芯片自带 512KB SRAM这个数字听起来不小但跑 LVGL 图形界面、摄像头帧缓冲、音频波形缓冲这类任务时512KB 很快就见底。这时候板子上焊的 PSRAM 就派上用场了。常见的 S3 Mini 板会配 2MB 或 8MB 的外部 PSRAM相当于把可用内存扩大很多倍。关键要记住C3 芯片在设计上根本就没有 PSRAM 控制器不管板子怎么焊、商家怎么吹C3 都扩不了内存。这是芯片级的能力缺失不是加颗芯片就能解决的。2.2 哪些场景“没 PSRAM”真的会崩我根据自己的实际项目经验列几个最容易吃内存的场景你可以对号入座LVGL 图形界面 中文字库。一个 16x16 点阵的中文字库文件动辄几百 KB 到几 MBLVGL 渲染界面时还需要帧缓冲和控件对象内存。在无 PSRAM 的板子上跑复杂界面经常出现卡顿、花屏甚至直接重启。摄像头图像处理。以 OV2640 为例拍一张 320x240 的 RGB565 图像裸数据就要 320×240×2 ≈ 150KB换成 640x480 直接到 600KB。没有 PSRAM光存一帧图就快把内存吃光了更别提做人脸检测或色块识别。MicroPython 复杂脚本。MicroPython 解释器本身有对象开销一个 list、dict、字符串操作都会消耗堆内存。在 C3 上跑稍微复杂一点的 Web 服务或数据结构MemoryError 是家常便饭。音频播放与录音。I2S 的 DMA 缓冲、编解码中间缓冲、音频数据的搬运都需要大块连续内存有 PSRAM 后才能从容分配。AI 前处理 / 传感器大数据缓存。S3 的向量指令可以做轻量推理但模型数据和中间张量都要内存装下。多路传感器的长时间记录、日志缓存也是同样的道理。反过来讲如果项目只是做一个继电器控制、光照/温湿度采集、周期上报云端的简单 IoT 节点那么几十个字节到几百个字节的变量就够用C3 的 RAM 并不紧张。2.3 买带 PSRAM 的版本怎么核对才不会被坑这里有一个非常容易踩的坑商品页写了“8MB”你真的得分清这 8MB 是 Flash 还是 PSRAM。很多入门玩家把这两者搞混买回来才发现“说好的大内存呢”。乐鑫的芯片封装后缀其实已经把信息写清楚了N4 / N8内置 4MB / 8MB FlashR2 / R8内置 2MB / 8MB PSRAM比如ESP32-S3FN8R8就代表这颗芯片内部集成了 8MB Flash 和 8MB PSRAM。ESP32-S3FN8只有 8MB Flash没有 PSRAM。但要注意开发板不一定直接用带内置封装的芯片有些板子用的是“裸片 外部 Flash 外部 PSRAM”方案这时候丝印就不一定按这个规则出牌了。我建议下单前直接问客服三个问题Flash 多大PSRAM 多大PSRAM 是 Quad 还是 Octal后一个问题尤其重要因为 ESP-IDF 编译固件时如果没按正确的 PSRAM 模式配置上电时 PSRAM 会初始化失败你在启动日志里会看到类似SPIRAM init failed的报错。到手之后验证 PSRAM 最直接的方法是刷一个 MicroPython 固件然后运行import esp print(esp.psram_size())如果输出 0说明要么这板子没焊 PSRAM要么你刷的固件没开 SPIRAM 支持。官方 MicroPython 的 GENERIC-S3 固件默认是启用 SPIRAM 的如果自己用 ESP-IDF 编译记得在menuconfig里打开CONFIG_SPIRAMy并正确选择 Quad 或 Octal 模式。3. USB最容易买错的环节没有之一3.1 板子上那个 Type-C 口背后是两种完全不同的实现这是我认为 S3 Mini 和 C3 Mini 选购中最容易踩坑的地方。很多板子为了体积和成本省掉了 USB 转串口芯片让 Type-C 口直接连到芯片的原生 USB 引脚上。这和传统开发板“板上焊 CH340/CP2102 串口芯片”的方案体验差别非常大。传统方案CH340、CH343、CP2102、FT231X 这类 USB-UART 桥接芯片把电脑的 USB 转成芯片的 UART 信号。电脑识别出的是一个 COM 口烧录和串口监视器的使用方式和 Arduino 完全一样稳定、兼容性好缺点是板子贵几块钱。原生方案Type-C 口直接连芯片的 USB 引脚。S3 有完整的 USB OTG 控制器C3 有 USB Serial/JTAG 控制器。电脑识别出的设备类型取决于固件可能是“USB 串行设备”可能是 HID 键鼠可能是“大容量存储设备”也可能在特定模式下枚举成 DFU 设备。怎么区分你手里的板子是哪种方案很简单看板子背面丝印。如果看到CH340、CP2102、CH343这类字样说明有独立的串口芯片如果板子上除了主控和电源部分没看到小串口芯片基本就是原生 USB 直连。还有一个更隐蔽的坑有些板子把原生 USB 和串口芯片都做了但通过跳线或按钮切换。Mini 这类小板为了节省面积通常只保留原生 USB所以插上电脑后“没有 COM 口”不代表板子坏了更可能是你还没进入正确的 USB 枚举模式。3.2 S3 的原生 USB 到底能干什么S3 的原生 USB OTG 是这板子最大的隐藏价值能做下面这些事情虚拟串口 CDC最基础的使用方式插上电脑就是一个 COM 口用于日志输出和 MicroPython REPL 交互。USB HID 键鼠/手柄S3 可以枚举成键盘、鼠标、游戏手柄。典型玩法是结合 WiFi/BLE 做一个无线键鼠接收器电脑端插 S3S3 通过蓝牙或 WiFi 接收数据再以 HID 协议发给主机。USB MSC 模拟 U 盘刷一个带 UF2 引导的固件后板子会变成一个 U 盘直接把编译好的.uf2文件拖进去就完成烧录不需要任何烧录工具。这对新手来说是最友好的烧录方式。USB DFU 固件升级按住 BOOT 键上电S3 的 ROM 引导程序可以把原生 USB 枚举成 DFU 设备用esptool直接擦写固件完全不需要外部 USB 转 TTL。USB Host 模式OTGS3 可以作为主机接 U 盘、接 USB 键盘比如读取 U 盘里的配置文件、把数据写到 U 盘里做离线记录。这是 C3 想都不要想的功能。理解这些能力之前最好对 USB 协议有个基本概念。USB 设备枚举过程是这样的主机先对端口复位然后在地址 0 上发送GET_DESCRIPTOR控制请求设备通过端点 0 返回设备描述符包含 VID/PID、设备类别、端点 0 最大包长 64 字节等主机拿到后分配一个地址再读取配置描述符、接口描述符和端点描述符。中间任何一步设备没回应Windows 就会在设备管理器里报“未知 USB 设备设备描述符请求失败”。如果遇到枚举失败可以抓包看问题出在哪。Windows 上用 Wireshark USBPcapLinux 上用 Wireshark usbmon都能看到总线上的控制传输。硬件级的协议分析仪比如 Teledyne LeCroy USB Protocol Suite 或 Beagle USB 480可以连物理层都能解码属于专业调试工具普通玩家一般用软件抓包就够。USB 协议想系统了解直接看 USB 2.0 规范的官方 PDF重点读第 9 章“USB Device Framework”枚举流程和设备描述符都在那里网上也有爱好者翻译的中文版。S3 的 USB 开发库主要用乐鑫官方在 ESP-IDF 里集成的 TinyUSB 组件也有 Arduino 库的 USBHID 封装MicroPython 和 CircuitPython 则内置了部分 USB 支持。我自己试过用 ESP-IDF TinyUSB 做一个 HID 键盘整个过程不算复杂坑主要集中在描述符配置上——字符串描述符的长度、端点最大包长、接口号的顺序任何一个和主机驱动对不上都会枚举失败。3.3 C3 的 USB Serial/JTAG方便但别指望更多C3 的 USB 控制器叫 USB Serial/JTAG从名字就能看出来它只能干两件事虚拟串口和 JTAG 调试。插上电脑后C3 会枚举成一个复合设备里面包含一个 CDC 串口接口和一个 JTAG 调试接口在设备管理器里通常显示为“Espressif USB JTAG/Serial”或者“USB 串行设备”。这个设计的好处是不用外接 USB 转 TTL直接一根 Type-C 线就能看日志、烧录、连 OpenOCD 调试对开发体验是实打实的提升。坏处是C3 没有通用 USB OTG 控制器不能枚举成 HID、MSC、DFU 以外的自定义设备也不能当 USB Host 接外设。商家页面上如果写“支持 USB”指的就是这个 USB Serial/JTAG可别理解成什么都能干。下载固件的操作其实和 S3 差不多按住 BOOT 键C3 的 BOOT 脚是 IO9再插 USB 上电芯片会进入 ROM 下载模式这个时候电脑上会出现一个 USB 串行设备esptool.py可以正常连接烧录。3.4 驱动、线材、虚拟机这些边角问题USB 相关的问题很多时候不是芯片问题而是驱动和物理连接的问题。我把踩过的坑集中说一下。Windows 10 和 Windows 11 对 ESP32-S3 和 ESP32-C3 的原生 USB 都是免驱的插上就能识别。Windows 7 就比较麻烦需要手动装 CDC 驱动否则设备管理器里永远是感叹号。如果遇到感叹号右键更新驱动、手动指定 INF 文件或者临时关闭驱动签名强制通常能解决。Type-C 线的坑非常普遍。市面上很多便宜线只有充电功能没有数据线D/D-插上去电脑毫无反应。还有些线线序不对、接口松动也会导致枚举不稳定。建议买 USB-IF 认证的线材或者至少用手机原装数据线做排查。遇到“设备描述符请求失败”时第一件事不是重刷固件而是换线、换接口。供电不足也会引发类似的枚举问题。S3 Mini 带 TFT 屏幕和摄像头时瞬时电流会到几百毫安甚至超过 500mA插在机箱前置 USB 口或劣质 USB Hub 上很容易失败。换成后置 USB 口或者用带外接电源的 Hub 会比较稳。虚拟机里透传 USB 又是另一层坑。VMware 下如果看不到 USB 设备先检查VMware USB Arbitration Service这个服务有没有启动Linux 主机上还需要确保 usbfs 权限正确。我干过一件蠢事在虚拟机里折腾了半小时设备描述符最后发现是宿主机把设备认了虚拟机根本没用上。4. 按你的用途来选别再纠结“哪个便宜”4.1 典型场景决策对照表直接上结论表这是我给朋友最常用的推荐方式需求场景推荐型号理由温湿度/继电器/MQTT 上报/简单 IoT 节点C3 Mini成本低、功耗低RAM 足够开发简单小屏幕菜单、状态页、LVGL 仪表盘S3 Mini带 PSRAMUI 渲染吃内存PSRAM 是刚需摄像头拍照、色块识别、人脸检测前处理S3 Mini8MB PSRAM 版本帧缓冲需要大块连续内存无线键鼠/游戏手柄接收器、USB 外设S3 Mini只有 S3 有原生 USB OTG可枚举 HID锂电池供电、深度休眠采集节点C3 MiniRISC-V 单核更省电休眠功耗表现好音频播放/录音、需要 I2S 缓冲S3 Mini带 PSRAM音频缓冲占内存PSRAM 可缓解复杂 MicroPython 脚本、多任务处理S3 Mini带 PSRAMheap 空间大不会动辄 MemoryError只是入门学习 GPIO/RTOS/网络编程C3 Mini 或 S3 Mini 均可预算优先选 C3想长远玩就上 S3需要注意C3 也不是完全做不了屏幕和音频它也有 SPI 和 I2S只是内存很小跑简单的小屏和低采样率播放勉强能行但一旦复杂度上来就会寸步难行。4.2 MicroPython 下面两者的真实体验差异MicroPython 是目前 ESP32 板上最主流的脚本环境也是最能直观看出内存差距的地方。C3 Mini 上 MicroPython 的可用 heap 很小我记得跑起来后实际可用 RAM 就只有一两百 KB 量级。写点简单的 GPIO 控制和 WiFi 连接没问题但你要是想在内存里放一个几千条记录的 list或者跑一个稍微像样的 Web 服务MemoryError 会频繁出现这是芯片上限C3 再怎么调也变不出 PSRAM。S3 Mini 带 PSRAM 之后MicroPython 的 heap 可以到几 MB体验完全是另一个量级。我之前在 S3 上跑过一个 LVGL 的传感器仪表盘同时开了两个 WebSocket 连接实时推送数据还能从容处理一个 320x240 的摄像头画面。换成无 PSRAM 的板子这个项目基本不可能稳定运行。固件选择上MicroPython 官方下载页有按芯片区分固件S3 要选 GENERIC-S3 版本C3 选 GENERIC-C3。带 PSRAM 的 S3 板子建议优先用官方固件它默认开启了 SPIRAM 支持如果你是从源码自己编译务必在 ESP-IDF 的 menuconfig 里打开 SPIRAM并选择对应的 Quad/Octal 模式否则你会看到esp.psram_size()永远返回 0。还有一个容易忽略的差异引脚号。C3 可用的 GPIO 数量比 S3 少两者也不是所有外设都映射到同一个引脚。同一个 I2C 扫描脚本从 C3 换到 S3很可能I2C(0, scl..., sda...)的总线号和引脚号都要改。我在移植一个旧项目时就被这个坑过最后老老实实对着两边板子的引脚图重新接线。5. 一张可核对的采购清单5.1 下单前核对这六项参数买 Mini 板的时候商品页经常写得含含糊糊真正必须确认的参数就这几个核对项怎么问/怎么看坑点提醒芯片完整型号问客服“芯片后缀是什么”或看商品图丝印不同批次可能不同例如 S3FN8 和 S3FN8R8 是两个东西Flash 容量看参数页写的是 4MB/8MB/16MB“8MB”不一定包含 PSRAM先分清 Flash 和 PSRAMPSRAM 容量与类型问“PSRAM 是 2MB 还是 8MBQuad 还是 Octal”固件/IDF 配置错误会导致 PSRAM 初始化失败USB 形态问“板上有没有 USB 转串口芯片还是原生 USB”原生 USB 需要按住 BOOT 上电进入下载模式天线类型看是 PCB 天线还是 IPEX 外接有没有认证PCB 天线周围不要放金属件外接天线要配线是否焊排针/排母、有无 BOOT 键看商品选项问“BOOT 和 RST 按键有没有”省按键的板子烧录时得自己短接焊盘很麻烦不要嫌问客服麻烦。嵌入式开发板这东西批次不同、代工厂不同配置真的会变。我买过一块标注“8MB PSRAM”的板子到手才发现芯片型号是 S3FN8无 PSRAM商家只是把“8MB Flash”写成了模糊的“8MB”。客服往往不会主动交代这点只能靠你追问。5.2 到手验货的四个步骤新板子到手我建议先别急着接外设花五分钟做一次完整验货第一步看丝印。芯片本体或模块上的印字是最终答案ESP32-S3FN8R8就是 8MB Flash 8MB PSRAMESP32-C3FN4就是 4MB Flash 无 PSRAM。对不上商家描述的直接拒收或换货。第二步插 USB 看枚举。按住 BOOT 键插入电脑打开设备管理器看看系统识别成了什么。S3 应该能识别出一个 USB 串行设备C3 则显示 USB Serial/JTAG 复合设备。如果显示“未知 USB 设备”先换线换口再试。第三步刷固件看启动日志。烧一个官方 MicroPython 或 Arduino 空工程看串口日志有没有出现PSRAM found、SPIRAM之类的字样。S3 带 PSRAM 的板子在启动阶段会明确打印 PSRAM 初始化信息。第四步跑内存压力测试。用 MicroPython 跑一段分配大内存的脚本比如创建一个几 MB 的bytearray确认系统稳定不崩溃import esp print(PSRAM size:, esp.psram_size()) buf bytearray(1024 * 1024 * 2) # 尝试分配 2MB 缓冲 print(Buffer len:, len(buf))esp.psram_size()返回实际可用的 PSRAM 大小如果返回 0要么板子没 PSRAM要么固件没开 SPIRAM 支持。bytearray能成功分配大块内存说明 PSRAM 确实在工作。5.3 商家没明说但实际很影响体验的细节便宜版本通常在这些地方省钱省掉 BOOT 按键、不焊排针、用杂牌 Flash、缩小天线区域、Type-C 母座省料导致接触不良。我的建议是几十块差价以内的板子优先选带 BOOT 键、带焊好排针的版本。新手自己焊排针很容易把焊盘弄断得不偿失。排针排母的选择也有讲究经常用杜邦线跳线的选排针版本打算把板子堆叠在底板上或者直接贴外壳里的选排母版本更合适。Mini 板本身尺寸就小排针焊接质量直接决定寿命到手后可以用万用表量一下 3.3V 和 GND 是不是正常能省掉后续一堆猜疑。还有一点容易被忽略PCB 天线版本的板子周围一厘米内不要放金属外壳和大面积铺铜。之前有人把 S3 Mini 直接贴在一个金属支架上WiFi 信号瞬间掉到怀疑人生换成 IPEX 外接天线版本就好了。6. 常见问题与排查技巧实录6.1 快速定位表现象可能原因处理办法未知 USB 设备提示“设备描述符请求失败”供电不足、Type-C 线只有充电功能、接口接触不良换线换口、按住 BOOT 重新上电、用带供电的 Hub有 COM 口但 esptool 提示Failed to connect芯片没进入下载模式按住 BOOT 再插 USB直到日志出现 ROM 模式设备管理器端口有感叹号驱动没装好常见于 Windows 7手动更新驱动、指定 INF或换 Win10/11 环境插上 Type-C 完全没反应线材问题、板子没供电、USB 模式不对换线、短按 RST、用万用表确认 3.3V 正常MicroPython 的esp.psram_size()返回 0板子无 PSRAM或固件没开 SPIRAM 支持核对芯片后缀换官方 GENERIC-S3 固件烧录后不断重启或日志乱码波特率/固件类型不匹配、供电不稳确认芯片型号和固件匹配检查电源虚拟机里找不到 USB 设备VMware USB Arbitration Service 未运行、usbfs 权限问题启动服务、检查宿主权限、重新插拔这张表基本覆盖了 S3 Mini 和 C3 Mini 到手后 90% 的新手问题。排查顺序我建议永远是换线、换口、按住 BOOT 上电、重刷官方固件。这四个动作能做掉一半的“伪故障”。6.2 三个值得单独展开的细节第一个是No USB fet was found这类报错。很多新手看到“USB”字样就以为是 USB 口坏了其实这类报错来自下载工具本身意思是“目标芯片上没有找到可用的编程接口”。对应到前面提到的原因就是设备没进入下载模式。打个比方你电源插了但门锁着喊破喉咙里面也没人应。解决方式就一个——按住 BOOT 键再上电让芯片进 ROM Bootloader。第二个是设备管理器里看到的不一定是“COM 口”。Win10/11 下CDC 虚拟串口通常会显示在“端口COM 和 LPT”下但有些精简系统驱动会把设备归类到“通用串行总线设备”。卖家用的是 COM3 还是“USB 串行设备”esptool 其实都能处理只要别在 Arduino IDE 端口列表里找不到设备就慌。遇到找不到的情况刷新一下设备管理器或者拔掉重插一次。第三个是用 Wireshark 抓 USB 枚举包判断硬件故障。如果设备一直报“设备描述符请求失败”先在 Windows 上用管理员权限跑 USBPcap插上设备抓包看总线有没有发出“复位 获取设备描述符”控制请求以及设备有没有任何响应。有请求无响应基本可以断定是硬件侧问题供电、晶体、D/D- 引脚有请求且设备正常响应但仍失败问题往往在固件的描述符配置或主机驱动上。我自己在实际操作中的体会是S3 Mini 和 C3 Mini 各有各的定位没有绝对的“谁更好”。如果项目只用到 GPIO、串口、WiFi 上报C3 Mini 完全够用且价格友好但只要碰屏幕、摄像头、USB 外设或者想在 MicroPython 里多分配点内存直接一步到位买 S3 Mini 带 PSRAM 的版本。那几十块钱的差价省下来的是大量调试时间这是我最常跟人强调的一句话。最后再分享一个小技巧新板子到手先别急着接外设用官方固件把 USB 枚举、串口下载、PSRAM 这三项全部验证一遍再开始写业务代码。板子本身没问题后面调试时才不会被“到底是硬件还是软件”的问题反复折磨。这一步花不了十分钟但能帮你省下几个晚上的排查时间。
返回列表