15 ESP32 GPIO Use Memo
# ESP32 GPIO 使用备忘录
一、ESP32引脚资源分配与使用建议
二、ESP32需要特别注意的几个GPIO
1. Strapping引脚
ESP32 共有5 个Strapping 管脚.
MTDI/GPIO12:内部下拉GPIO0:内部上拉GPIO2:内部下拉MTDO/GPIO15:内部上拉GPIO5:内部上拉
系统复位时,这些管脚的值被保存到寄存器.软件可以读取寄存器“GPIO_STRAPPING”中这5 个位的值.该寄存器值一直保持到掉电. 完成复位后,这些管脚被当做普通GPIO 使用. 因此在系统复位时,要处理好这些引脚,要给一个确定的值

GPIO号
引脚号
作用
处理方法
12
18
VDD_SDIO 管脚可配置输出1.8 V(Boot 启动时,需GPIO12 的值为1),或输出3.3 V(Boot 启动时,需GPIO12的值为0,默认状态),给外部电路使用(flash)
:--:
:--:
:--:
:--:
:--:
:--:
:--:
:--:
:--:
:--:
:--:
:--:
:--:
:--:
:--:
:--:
2. 专用spi flash引脚
GPIO6GPIO7GPIO8GPIO9GPIO10GPIO11
一般在模组内部用于外接SPI flash.
Note that GPIO6-11 are usually used for SPI flash.
3. 只具有输入功能的引脚
GPIO34GPIO35GPIO36GPIO37GPIO38GPIO39
以上管脚只具有输入功能,没有上拉下拉选项
can only be set as input mode and do not have software pullup or pulldown functions.
三、ESP32 API GPIO使用
官方文档release/v3.3版本 ESP_IDF: GPIO & RTC GPIO
1. 输入输出模式
2. 中断类型
3. 上下拉使能
4. 驱动能力
四、ESP32 GPIO 中断使用
示例:打印GPIO4和GPIO5的点平变化
注意:
请勿在中断服务函数中使用printf
中断服务函数添加
IRAM_ATTR使其放在IRAM中
最后更新于
这有帮助吗?