引脚说明
以下图为例
图片下方的英文部分已经有了介绍,本文将进行一次简述。
此型号开发板一共38个引脚,除去电源引脚外,可用IO引脚为34个,在图中有GPIO6~GPIO11等6个引脚标注有红色“!”,这6个引脚常作为读写闪存,一般情况下不使用。
开发板上还具有EN和BOOT两个按键,其功能如下:
1、按下EN键,ESP32重启;
2、先按下BOOT键再按下EN键,ESP32重启并进入编程模式。
所以该开发板除去6个FLASH、2个按键及UART0引脚外,实际可用引脚为23个,其为:GPIO2、4、5、12、13、14、15、16、17、18、19、21、22、23、25、26、27、32、33、34、35、36、39。
数字信号读写操作
ESP32的数字信号读写函数为:pinMode()、digitalRead()、digitalWrite()。
详解:
pinMode(pin,mode);
//功能:设置引脚工作方式;
//pin:开发板上23个引脚均可以作为数字输入引脚,除34、35、36、39外均可以作为数字输出引脚,并且34、35、36、39作为数字输入引脚时,不能设置上拉及下拉模式;
//mode:INPUT:输入模式;
// OUTPUT:输出模式;
// INPUT_PULLUP:内部上拉模式;
// INPUT_PULLDOWN:内部下拉模式;
digitalRead(pin);
//功能:读取引脚输入的数字信号;
//返回值:高电平1,低电平0;
//pin:23个引脚均可,当34、35、36、39作为输入引脚时,如果模式为上拉或者下拉,则无返回值;
digitalWrite(pin,value);
//功能:向指定引脚输出高低电平;
//pin:除34、35、36、39外的引脚;
//value:HIGH或LOW,HIGH高电平,值为1,LOW低电平,值为0.
示例
由此可进行摁键控制LED灯
代码如下:
const int key = 12; //按键引脚GPIO12
const int led = 4; //led引脚GPIO4
void setup(){
pinMode(key,INPUT_PULLDOWN); //设置下拉输入
pinMode(led,OUTPUT); //设置输出
Serial.begin(115200); //串口波特率
}
void loop(){
int val=digitalRead(key); //获取按键值
Serial.println(val); //串口打印
if(val == 1) //按键连接GPIO12与3V3;LED连接GPIO4与GNDdigitalWrite(led,HIGH);
elsedigitalWrite(led,LOW); //开关按下LED点亮,否则熄灭
}