数字 I/O

    Maixduino 支持基本的 Arduino 输入输出函数,你可以像使用其他 Arduino 开发板一样使用它们。

    • Maixduino 可以自由操作不超过 32 个数字 IO 口,并可以将它们同时映射到 48 个 FPIO 上。

    digitalRead()

    描述

    从选定的 IO 引脚读取电平, `HIGH`或者`LOW`.
    

    用法

    digitalRead(pin)

    参数

    pin : 你要读取的数字 IO 引脚。(0 - 47, Maixduino board 为 0 - 13*)

    返回值

    HIGH 或者 LOW

    注意事项

    • 只有在 pinMode() 初始化后的引脚才可以读取。
    • * Maixduino board 上的 SDA SCL 可作为普通数字引脚 14 15 号使用,BOOT key 作为 16 号引脚使用。

    digitalWrite()

    描述

    将一个数字引脚设置为高电平或者低电平。

    用法

    digitalWrite(pin, value)

    参数

    pin: 引脚号

    value: HIGH 或者 LOW

    返回值

    注意事项

    • 只有在 pinMode() 初始化后的引脚才可以改变状态。

    pinMode()

    描述

    设置一个引脚为输入或输出模式。

    参数

    pin: 需要设置的引脚

    mode: INPUT, OUTPUT, INPUT_PULLDOWN 或者 INPUT_PULLUP.

    返回值

    注意事项

    在使用 digitalRead() 或者 digitalWrite() 前,必须使用此函数初始化对应引脚。

    示例代码

    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
    }