关于 ESP32 端口的一般信息¶
ESP32 是 Espressif Systems 流行的支持 WiFi 和蓝牙的片上系统 (SoC)。
多块板子¶
有许多来自不同来源的模块和电路板带有 ESP32 芯片。MicroPython 试图提供一个可以在尽可能多的板/模块上运行的通用端口,但可能存在限制。端口以乐鑫开发板为参考(例如进行测试)。对于您使用的任何电路板,请确保您有数据表、原理图和其他参考材料,以便您可以查找任何特定于电路板的功能。
为了制作通用 ESP32 端口并支持尽可能多的开发板,我们做出了以下设计和实现决策:
GPIO 引脚编号基于 ESP32 芯片编号。请手头有您的电路板的手册/引脚图,以查找您的电路板引脚和实际 ESP32 引脚之间的对应关系。
MicroPython 支持所有引脚,但并非所有引脚都可用于任何给定的电路板。例如,不应使用连接到外部 SPI 闪存的引脚,并且电路板可能只暴露特定选择的引脚。
技术规格和 SoC 数据表¶
ESP32 芯片的数据表和其他参考资料可从供应商站点获得:https://www.espressif.com/en/support/download/documents?keys=esp32。它们是芯片技术规格、功能、操作模式、内部功能等的主要参考。
为了您的方便,下面提供了一些技术规格:
架构:Xtensa 双核 32 位 LX6
CPU频率:最高240MHz
可用内存总量:528KB(部分预留给系统)
引导ROM:448KB
内部闪存:无
外部FlashROM:代码和数据,通过SPI Flash;通常大小 4MB
GPIO:34个(GPIO与其他功能复用,包括外部FlashROM、UART等)
UART:3个RX/TX UART(无硬件握手),1个TX-only UART
SPI:4个SPI接口(1个用于FlashROM)
I2C:2 I2C(bitbang 实现可用于任何引脚)
I2S: 2
ADC:12 位 SAR ADC,最多 18 个通道
DAC:2 个 8 位 DAC
RMT:8 个通道,允许精确的脉冲发射/接收
编程:使用来自 UART 的 BootROM 引导加载程序 - 由于外部 FlashROM 和始终可用的 BootROM 引导加载程序,ESP32 不可砖砌
有关更多信息,请参阅 ESP32 数据表: https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf
MicroPython 是在乐鑫为 ESP32 开发的框架 ESP-IDF 之上实现的。这是一个基于 FreeRTOS 的系统。有关 详细信息,请参阅 ESP-IDF 编程指南。