ESP32简介
1.没有输出的引脚
GPIO35 GPIO34 GPIO39 GPIO36只有输入功能,这些引脚没有内部上拉或下拉电阻,没有输出功能。
2.不建议使用的引脚
GPIO6 GPIO7 GPIO8 GPIO9 GPIO10 GPIO11不建议使用这些引脚连接到ESP-WROOM-32芯片上的集成SPI闪存。
3.ESP32有10个内部电容式触摸传感器。
T0 (GPIO 4) ,T1 (GPIO 0),T2 (GPIO 2),T3 (GPIO 15),T4 (GPIO 13),T5 (GPIO 12),
T6 (GPIO 14),T7 (GPIO 27),T8 (GPIO 33),T9 (GPIO 32)
4.ADC通道,一共两组ADC
通道1:
ADC1_CH0 (GPIO 36),ADC1_CH1 (GPIO 37),ADC1_CH2 (GPIO 38),
ADC1_CH3 (GPIO 39),ADC1_CH4 (GPIO 32),ADC1_CH5 (GPIO 33),
ADC1_CH6 (GPIO 34),ADC1_CH7 (GPIO 35)
通道2:
ADC2_CH0 (GPIO 4),ADC2_CH1 (GPIO 0),ADC2_CH2 (GPIO 2),
ADC2_CH3 (GPIO 15),ADC2_CH4 (GPIO 13),ADC2_CH5 (GPIO 12),
ADC2_CH6 (GPIO 14),ADC2_CH7 (GPIO 27),ADC2_CH8 (GPIO 25)
ADC2_CH9 (GPIO 26)
注意:使用Wi-Fi时不能使用ADC2管脚。可以考虑改用ADC1 GPIO。
5.数模转换器(DAC)两个DAC都是8位
DAC1 (GPIO25)
DAC2 (GPIO26)
6.低功耗模式
以下GPIO可以用作外部唤醒源。
RTC_GPIO0 (GPIO36)
RTC_GPIO3 (GPIO39)
RTC_GPIO4 (GPIO34)
RTC_GPIO5 (GPIO35)
RTC_GPIO6 (GPIO25)
RTC_GPIO7 (GPIO26)
RTC_GPIO8 (GPIO33)
RTC_GPIO9 (GPIO32)
RTC_GPIO10 (GPIO4)
RTC_GPIO11 (GPIO0)
RTC_GPIO12 (GPIO2)
RTC_GPIO13 (GPIO15)
RTC_GPIO14 (GPIO13)
RTC_GPIO15 (GPIO12)
RTC_GPIO16 (GPIO14)
RTC_GPIO17 (GPIO27)
7.PWM
ESP32的PWM控制器有16个独立通道,可以配置为生成具有不同特性的PWM信号。所有可以作为输出的管脚都可以用作PWM管脚。ESP32 PWM 控制器有 8 个高速通道和 8 个低速通道。一共有两组,每组有 4 个定时器/8 个通道。这意味着每两个通道共享同一个定时器。
8.I2C
I2C的引脚,ESP32有两个I2C。
GPIO 21(SDA) GPIO 22(SCL)
也可以使用软件模拟I2C。
9.中断(所有GPIO都可以配置为中断即外部中断)
10.一些特殊GPIO(Strapping 引脚)
一些GPIO在启动或重置时将其状态更改为高或输出PWM信号。这意味着,如果输出连接到这些gpio,则在ESP32重置或引导时可能会得到意外的结果。
GPIO 1,GPIO 3,GPIO 5(启动时必须为高电平)
GPIO 6 to GPIO 11 (connected to the ESP32 integrated SPI flash memory – not recommended to use).
GPIO12(启动时必须为低电平)
GPIO 14,GPIO 15(启动时必须为高电平)
11.串口(3个)
串口0 : GPIO 1(TX0) GPIO 3(RX0)
串口1 : GPIO 10(TX1) GPIO 9(RX1)
串口4 : GPIO 17(TX2) GPIO 16(RX2)
ESP32使用
1.ESP32下载 VScode Arduino Thonny
2.使用Arduino进行编程
出现下面问题
VScode
Arduino
解决方法
在下载程序显示CONNECTING连接的时候,按住ESP32的BOOT键。