============================= ESP32 概述 ============================= ESP32 是乐鑫(Espressif)推出的双模无线 MCU,集成 WiFi + BLE,是物联网领域最广泛使用的芯片之一。 核心规格 ========= .. list-table:: :header-rows: 1 * - 参数 - ESP32 - ESP32-S3 - ESP32-C3 * - 架构 - Xtensa LX6 双核 - Xtensa LX7 双核 - RISC-V 32位单核 * - 主频 - 240 MHz - 240 MHz - 160 MHz * - SRAM - 520 KB - 512 KB - 400 KB * - Flash - 4~16 MB - 8~16 MB - 4 MB * - WiFi - 802.11 b/g/n - 802.11 b/g/n - 802.11 b/g/n * - BLE - BLE 4.2 - BLE 5.0 - BLE 5.0 * - USB OTG - × - √ - √ * - 推荐场景 - 通用 IoT - AI/显示 - 低成本 开发方式选择 ============== .. list-table:: :header-rows: 1 * - 特性 - ESP-IDF - Arduino-ESP32 - MicroPython * - 语言 - C/C++ - C++ (Arduino API) - Python * - 编译方式 - 交叉编译 (cmake) - Arduino IDE / PlatformIO - 解释执行 (REPL) * - 内存占用 - 小 - 中 - 大(堆开销) * - 实时性 - 高(FreeRTOS) - 中 - 低 * - 适合人群 - 专业嵌入式 - 快速原型 - 教育/快速验证 * - 官方支持 - 一级 - 二级 - 社区 芯片架构 ========= .. code-block:: ┌──────────────────────────────────────────────────────┐ │ ESP32 架构 │ │ │ │ ┌─────────────┐ ┌─────────────┐ │ │ │ CPU Core 0 │ │ CPU Core 1 │ │ │ │ (PRO_CPU) │ │ (APP_CPU) │ │ │ └──────┬───────┘ └──────┬───────┘ │ │ │ │ │ │ ┌──────┴──────────────────┴───────┐ │ │ │ 内部总线 (Bus Matrix) │ │ │ └──────┬──────────────────┬───────┘ │ │ │ │ │ │ ┌──────┴─────┐ ┌───────┴────────┐ │ │ │ RAM/ROM │ │ 外设总线 │ │ │ ├────────────┤ ├────────────────┤ │ │ │ · SRAM 520K│ │ · UART × 3 │ │ │ │ · ROM 448K │ │ · I2C × 2 │ │ │ │ · Cache │ │ · SPI × 4 │ │ │ └────────────┘ │ · I2S × 2 │ │ │ │ · ADC × 2(12位)│ │ │ │ · DAC × 2(8位) │ │ │ │ · PWM × 16 │ │ │ │ · Touch × 10 │ │ │ │ · CAN/TWAI │ │ │ └────────────────┘ │ │ │ │ ┌──────────────────┐ ┌──────────────────┐ │ │ │ WiFi (802.11) │ │ BLE (4.2) │ │ │ │ · Station │ │ · Central │ │ │ │ · AP │ │ · Peripheral │ │ │ │ · Sniffer │ │ · Mesh │ │ │ └──────────────────┘ └──────────────────┘ │ └──────────────────────────────────────────────────────┘ 内存映射 ========= .. code-block:: 地址范围 | 用途 ───────────────────────────────────────── 0x3FF0_0000 ~ | 外设寄存器 0x3FFA_0000 ~ | DROM (只读数据) 0x3FFB_0000 ~ | DRAM (数据 RAM) 0x4000_0000 ~ | IROM (指令 ROM) 0x4008_0000 ~ | IRAM (指令 RAM) 0x400C_0000 ~ | Cache 地址空间 .. tip:: 选型建议: - **通用 IoT** → ESP32 (性价比最高) - **AI / 显示 / 摄像头** → ESP32-S3 (P4 即将发布) - **低成本 / 蓝牙 Mesh** → ESP32-C3 (RISC-V) - **低功耗电池设备** → ESP32-C6 (802.11ax)