Skip to main content

ESP32仿真

ESP32是一款支持WiFi和蓝牙的流行的微控制器,被广泛用于物联网项目。Wokwi可以仿真ESP32、ESP32-S2和ESP32-C3(测试版)。

ESP32支持的板卡

NameChipDescription
ESP32 DevKit v1ESP32流行的ESP32开发板
TinyPICOESP32UnexpectedMaker制作的小型ESP32板
ESP32-S2-DevKitM-1ESP32-S2入门级ESP32-S2开发板
Franzininho WiFiESP32-S2Franzininho社区制作的板卡
ESP32-C3-DevKitM-1ESP32-C3入门级ESP32-C3开发板
Rust Board ESP32-C3ESP32-C3用于Rust开发的ESP32-C3板

您可以通过向wokwi-boards发送拉取请求来贡献其他板卡。

立即开始

您可以通过三种方式使用ESP32仿真器:

  1. 使用ESP32 Arduino Core构建项目(包括ESP-IDF项目)
  2. 运行MicroPython项目(也可以在ESP32-S2上运行CircuitPython)
  3. 仿真您在计算机上构建的bin应用程序文件(例如使用ESP-IDF)

Arduino Core

Arduino-ESP32 Project TemplateESP32 Blink Example开始学习。

如果您想使用第三方Arduino库,请添加一个包括您使用的库列表的libraries.txt file

MicroPython

MicroPython ESP32 Project TemplateMicroPython ESP32 Blink Example开始学习。

注意:在仿真运行时,在串行终端内按Ctrl+C进入MicroPython REPL。或者,您可以编辑闪烁示例代码,删除while循环。有关更多信息,请查看MicroPython Guide

自定义bin应用文件

打开ESP32 custom application project template,然后在代码编辑器中按“F1”。然后选择“加载HEX文件并开始仿真...”。从您的计算机中选择任何.bin文件,仿真将开始。

仿真例子

Arduino Examples

MicroPython Examples

ESP-IDF Examples

以下示例中使用了ESP-IDF函数。它们使用Arduino ESP32 Core编译:

仿真器特性

外设ESP32S2C3Notes
Processor core(s)✔️✔️✔️
GPIO✔️✔️✔️支持中断
IOMUX🟡🟡🟡
PSRAM✔️✔️4MB 外部 SRAM
UART✔️✔️✔️
USB✔️Support for UART over USB (CDC)
I2C✔️✔️✔️仅支持主机模式。不支持10位寻址。
I2SOpen for voting
SPI✔️✔️✔️
TWAI
RMT🟡🟡🟡仅支持发送,用于控制NeoPixels
LEDC PWM✔️✔️✔️用于 analogWrite()、舵机、蜂鸣器等。
MCPWM
DMA🟡🟡
WiFi✔️✔️✔️See the ESP32 WiFi Guide
BluetoothOpen for voting
Timers🟡✔️✔️
Watchdog
RTC🟡🟡🟡只有RTC上拉/下拉电阻
ADC✔️✔️注意: analogRead()返回值最大为4095
RNG✔️✔️✔️随机数生成器
AES Accelerator✔️✔️✔️
SHA Accelerator✔️✔️✔️
RSA Accelerator✔️✔️✔️
Hall Effect Sensor
ULP Processor
GDB Debugging🟡🟡🟡要使用 wokwi-gdbserver

说明:
✔️ - 已支持
🟡 - 部分支持/正在开发
❌ - 不支持(但如果您需要,请open a feature request) — - 此芯片不可用

WiFi 仿真

看这里: ESP32 WiFi Guide.

高级使用

自定义分区表(Partition Table)

您可以通过向项目中添加“partitions.csv”文件来指定自定义分区表。查看ESP32 Partition Table Guide了解此文件的确切格式。