ESP32 代码移植到 ESP32-S2 注意事项

说明:本文主要对比同一 ESP-IDF 版本(mater 分支202004),不同的编译目标间(ESP32 或 ESP32-S2)在使用时的注意事项。

文章更新版本 时间 更新说明 修订人
V0.1 发布于2020-04-25 初始版本 libo

1. GPIO

对比项 ESP32 ESP32-S2
引脚数 34 43
API no change

ESP32引脚资源分配与使用建议

ESP32-S2 特殊引脚查询表

引脚名 芯片No. 电源 是否建议使用 原因
GPIO26 不建议 一般用于外接 SPI flash
GPIO27 不建议 一般用于外接 SPI flash
GPIO28 不建议 一般用于外接 SPI flash
GPIO29 不建议 一般用于外接 SPI flash
GPIO30 不建议 一般用于外接 SPI flash
GPIO31 不建议 一般用于外接 SPI flash
GPIO32 不建议 一般用于外接 SPI flash
GPIO46 不优先 固定下拉/仅输入

2. LEDC/PWM

对比项 ESP32 ESP32-S2
通道数 8+8 8
模式 高速+低速模式 仅支持低速模式
API no change

高速模式,由硬件自动控制占空比的变化。低速模式,有软件控制占空比的变化。

频率 最大分辨率 占空比范围
5K 13 bit 0-100%
40K 10 bit 0-100%
160K 8 bit 0-100%
40 MHz 1 bit 50%

ESP32 和 ESP32-S2 LEDC 频率和最大分辨率相同

3. ADC

对比项 ESP32 ESP32-S2
类型 SAR SAR
数量 2 2
精度 12-bit 12-bit
通道数 8+10 10+10
ADC1 限制 霍尔传感器测量时,通道0,3 (GPIO 36 and 39)被占用(对应 IO 悬空)
ADC2 限制 Wi-Fi 开启时,ADC2 被占用 Wi-Fi 开启时,ADC2 被占用,但支持自定义优先级
GPIO ADC1( 32-39) ;ADC2(0,2,4,12-15,25-27) ADC1( 1-10) ;ADC2(11-20)
GPIO限制 注意0,2,15为strapping引脚
ULP读取 支持 支持
API 兼容并扩展,新增了数字滤波器相关函数
数字滤波器 支持

关于 ESP32 GPIO 限制,可查阅:ESP32引脚资源分配与使用建议

4. I2C

对比项 ESP32 ESP32-S2
数量 2 2
模式 master/slave master/slave
API no change

5. SPI

对比项 ESP32 ESP32-S2
数量 4 4
限制 SPI0/SPI1用于flash SPI0/SPI1用于flash
API no change

ESP32S2-SPI-PIN:

Pin Name SPI2 SPI3

S2文档缺少GPIO Matrix and IO_MUX :https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/spi_master.html#gpio-matrix-and-io-mux

ESP32-SPI-PIN:

Pin Name SPI2 SPI3
CS0* 15 5
SCLK 14 18
MISO 12 19
MOSI 13 23
QUADWP 2 22
QUADHD 4 21

猜你喜欢

转载自blog.csdn.net/qq_20515461/article/details/105518028