1、GPIO的初始化
pinMode(pin, mode)
作用:设置一个引脚(pin)作为GPIO时的I/O模式。
事项 | 说明 | |
pin | 引脚编号 | |
mode | GPIO的 I/O 模式 | INPUT 作为数字输入 |
OUTPUT 作为数字输出 | ||
INPUT_PULLUP 作为数字输入,且使能引脚内部的上拉电阻 |
2、GPIO的输出
digitalWrite(pin,value)
作用:设置一个数字输出引脚的输出电平值,HIGH或者LOW。
事项 | 说明 | |
pin | 引脚编号 | |
value | 输出状态 | LOW 低电平输出 |
HIGH 高电平输出 |
3、GPIO的输入
int digitalRead(pin)
作用:读取一个数字输入引脚的电平值。
返回:HIGH(高电平)或者LOW(低电平)。
4、测试代码
int ledPin = D9; //定义LED灯引脚
int InPut = D11; //定义输入引脚
void setup(){
pinMode(ledPin, OUTPUT); // 设置ledPin引脚为输出模式
pinMode(InPut, INPUT_PULLUP); // 设置InPut引脚为上拉输入模式
Serial.begin(9600); //初始化串口,设置波特率为9600
}
void loop(){
if(digitalRead(InPut))
{
digitalWrite(ledPin, HIGH); // 输出高电平,点亮LED灯
Serial.println(HIGH); // 串口打印1
}
if(!digitalRead(InPut))
{
digitalWrite(ledPin, LOW); // 输出低电平,熄灭LED灯
Serial.println(LOW); // 串口打印0
}
}
5、注意
(1)引脚作为PWM输出时,无需先前使用pinMode配置其模式,因为PWM本身就代表了输出的意思。且官方库源代码中可以发现,它已经帮我们配置为输出了。
(2)模拟引脚也可以作为数字引脚使用,完全OK。这在数字引脚不够用的情况下非常有用。