arduino的GPIO输入输出
我们使用ESP32 wroom32e举例
我们先看查自己开发板的IO图
ESP32系列的
基本arduino入门
arduinoIDE使用教程arduino的GPIO初始化
引脚初始化
pinMode(引脚号, 选择引脚模式);
参数 | 数据类型 | 作用 | 选项 |
---|---|---|---|
引脚号 | int | 指定引脚初始化 | 自己查芯片手册 |
选择引脚模式 | int | 指定引脚模式 | OUTPUT(0x03):输出模式 INPUT(0x01):输入模式 PULLUP(0x04):上拉 INPUT_PULLUP(0x05):上拉输入 PULLDOWN(0x08):下拉 INPUT_PULLDOWN(0x09):下拉输入 OPEN_DRAIN(0x10):开漏 OUTPUT_OPEN_DRAIN(0x13):开漏输出 ANALOG(0xC0):模拟输入 |
返回值 | 无 | 无 | 无 |
引脚模式:
arduino的GPIO输出
digitalWrite(引脚号, 模式);
参数 | 数据类型 | 作用 | 选项 |
---|---|---|---|
引脚号 | int | 指定引脚初输出 | 自己查芯片手册 |
引脚模式 | int | 选择输出高低电平 | HIGH(0x1):输出高电平 LOW(0x0):输出低电平 |
返回值 | 无 | 无 | 无 |
arduino的GPIO输入
digitalRead(引脚号);
参数 | 数据类型 | 作用 | 选项 |
---|---|---|---|
引脚号 | int | 指定引脚初输出 | 自己查芯片手册 |
返回值 | int | 读取的电平结果 | 0x1就是高 0x0就是低 |
延迟毫秒
delay(数值);
参数 | 数据类型 | 作用 | 选项 |
---|---|---|---|
数值 | unsigned long | 输入一个大于0的整数是延迟多少毫米(1秒=1000毫秒) | unsigned long |
延迟微秒
delayMicroseconds();
参数 | 数据类型 | 作用 | 选项 |
---|---|---|---|
数值 | unsigned long | 输入一个大于0的整数是延迟多少微秒(1秒=1000微秒) | unsigned long |
返回值 | 无 | 无 | 无 |
GPIO使用方法:
1,我们先初始化引脚
2,输出或者输入引脚
参考代码:
int LED = 2;//led引脚2号
int key = 13;//按键13号脚
void setup() {
pinMode(LED, OUTPUT);//初始化
pinMode(key, INPUT_PULLUP);//初始化
digitalWrite(LED, LOW); //2脚低电平
}
void loop()
{
if(digitalRead(key)==0)//读取电平
{
digitalWrite(LED, HIGH); //电平拉高灯亮
delay(50);//延迟
}
digitalWrite(LED, LOW); //低电平
}
//13脚接按键,按键连接低电平
//按下按键灯会亮
效果图: