数字 I/O
Maixduino 支持基本的 Arduino 输入输出函数,你可以像使用其他 Arduino 开发板一样使用它们。
- Maixduino 可以自由操作不超过 32 个数字 IO 口,并可以将它们同时映射到 48 个 FPIO 上。
1. digitalRead()
1.1. 描述
从选定的 IO 引脚读取电平, `HIGH`或者`LOW`.
1.2. 用法
digitalRead(pin)
1.3. 参数
pin
: 你要读取的数字 IO 引脚。(0 - 47, Maixduino board 为 0 - 13*)
1.4. 返回值
HIGH
或者 LOW
1.5. 注意事项
- 只有在
pinMode()
初始化后的引脚才可以读取。 - * Maixduino board 上的 SDA SCL 可作为普通数字引脚 14 15 号使用,BOOT key 作为 16 号引脚使用。
2. digitalWrite()
2.1. 描述
将一个数字引脚设置为高电平或者低电平。
2.2. 用法
digitalWrite(pin, value)
2.3. 参数
pin
: 引脚号
value
: HIGH
或者 LOW
2.4. 返回值
无
2.5. 注意事项
- 只有在
pinMode()
初始化后的引脚才可以改变状态。
3. pinMode()
3.1. 描述
设置一个引脚为输入或输出模式。
3.2. 参数
pin
: 需要设置的引脚
mode
: INPUT
, OUTPUT
, INPUT_PULLDOWN
或者 INPUT_PULLUP
.
3.3. 返回值
无
3.4. 注意事项
在使用 digitalRead()
或者 digitalWrite()
前,必须使用此函数初始化对应引脚。
3.5. 示例代码
void setup() {
pinMode(13, OUTPUT); // sets the digital pin 13 as output
}
void loop() {
digitalWrite(13, HIGH); // sets the digital pin 13 on
delay(1000); // waits for a second
digitalWrite(13, LOW); // sets the digital pin 13 off
delay(1000); // waits for a second
}
将引脚13设置为与引脚16相同的值,声明为输入。
int ledPin = 13; // LED connected to digital pin 13
int inPin = 16; // pushbutton connected to digital pin 16
int val = 0; // variable to store the read value
void setup() {
pinMode(ledPin, OUTPUT); // sets the digital pin 13 as output
pinMode(inPin, INPUT); // sets the digital pin 16 as input
}
void loop() {
val = digitalRead(inPin); // read the input pin
digitalWrite(ledPin, val); // sets the LED to the button's value
}