输入输出-gpio

描述

_image 通用输入输出,板载40PIN中引脚包含8个GPIO口(对于Pi-Pro硬件,可以通过PCF8575芯片再扩展16路GPIO口),父对象为device.io,无子对象。


事件

  • value:端口发生变化时触发, 函数定义:onValue(pin, value,

expander),pin表示端口号,value表示高低电平(1-高电平,0-低电平),expander是否为扩展器


属性

名称

功能说明

脚本例子

p0Value

GPIO端口0的电平值

device.io.gpio.p0Value=1 设置GPIO端口0为高电平(需设置该端口为输出口)

p0Direction

GPIO端口0的方向,0-Input,1-Output

device.io.gpio.p0Direction=1 设置GPIO端口0为输出口

p0Trigger

GPIO端口0的触发方式,0-None, 1-Rising, 2-Falling, 3-Both

device.io.gpio.p0Trigger=1 设置GPIO端口0为上升沿触发onLevel事件

p1Value

GPIO端口1的电平值

device.io.gpio.p1Value=1 设置GPIO端口1为高电平(需设置该端口为输出口)

p1Direction

GPIO端口1的方向,0-Input,1-Output

device.io.gpio.p1Direction=1 设置GPIO端口1为输出口

p1Trigger

GPIO端口1的触发方式,0-None, 1-Rising, 2-Falling, 3-Both

device.io.gpio.p1Trigger=1 设置GPIO端口1为上升沿触发onLevel事件

p2Value

GPIO端口2的电平值

device.io.gpio.p2Value=1 设置GPIO端口2为高电平(需设置该端口为输出口)

p2Direction

GPIO端口2的方向,0-Input,1-Output

device.io.gpio.p2Direction=1 设置GPIO端口2为输出口

p2Trigger

GPIO端口2的触发方式,0-None, 1-Rising, 2-Falling, 3-Both

device.io.gpio.p2Trigger=1 设置GPIO端口2为上升沿触发onLevel事件

p3Value

GPIO端口3的电平值

device.io.gpio.p3Value=1 设置GPIO端口3为高电平(需设置该端口为输出口)

p3Direction

GPIO端口3的方向,0-Input,1-Output

device.io.gpio.p3Direction=1 设置GPIO端口1为输出口

p3Trigger

GPIO端口3的触发方式,0-None, 1-Rising, 2-Falling, 3-Both

device.io.gpio.p3Trigger=1 设置GPIO端口3为上升沿触发onLevel事件

p4Value

GPIO端口4的电平值

device.io.gpio.p4Value=1 设置GPIO端口4为高电平(需设置该端口为输出口)

p4Direction

GPIO端口4的方向,0-Input,1-Output

device.io.gpio.p4Direction=1 设置GPIO端口4为输出口

p4Trigger

GPIO端口4的触发方式,0-None, 1-Rising, 2-Falling, 3-Both

device.io.gpio.p4Trigger=1 设置GPIO端口4为上升沿触发onLevel事件

p5Value

GPIO端口5的电平值

device.io.gpio.p5Value=1 设置GPIO端口5为高电平(需设置该端口为输出口)

p5Direction

GPIO端口5的方向,0-Input,1-Output

device.io.gpio.p5Direction=1 设置GPIO端口5为输出口

p5Trigger

GPIO端口5的触发方式,0-None, 1-Rising, 2-Falling, 3-Both

device.io.gpio.p5Trigger=1 设置GPIO端口5为上升沿触发onLevel事件

p6Value

GPIO端口6的电平值

device.io.gpio.p6Value=1 设置GPIO端口2为高电平(需设置该端口为输出口)

p6Direction

GPIO端口6的方向,0-Input,1-Output

device.io.gpio.p6Direction=1 设置GPIO端口2为输出口

p6Trigger

GPIO端口6的触发方式,0-None, 1-Rising, 2-Falling, 3-Both

device.io.gpio.p6Trigger=1 设置GPIO端口6为上升沿触发onLevel事件

p7Value

GPIO端口7的电平值

device.io.gpio.p7Value=1 设置GPIO端口7为高电平(需设置该端口为输出口)

p7Direction

GPIO端口7的方向,0-Input,1-Output

device.io.gpio.p7Direction=1 设置GPIO端口7为输出口

p7Trigger

GPIO端口7的触发方式,0-None, 1-Rising, 2-Falling, 3-Both

device.io.gpio.p7Trigger=1 设置GPIO端口7为上升沿触发onLevel事件

方法

名称

功能说明

脚本例子

isExpanderSupported()

检测扩展器是否支持

var supported = device.io.gpio.isExpanderSupported();

getValue(pin)

获取端口的电平值

var value = device.io.gpio.getValue(0); // 获取端口0的电平值

getValue(pin, expander)

获取扩展器端口的电平值

var value = device.io.gpio.getValue(0, true); // 获取扩展器端口0的电平值

setValue(pin, value)

设置端口的电平值

device.io.gpio.setValue(0, 1); // 设置端口0为高电平

setValue(pin, value, expander)

设置扩展器端口的电平值

device.io.gpio.setValue(0, 1, true); // 设置扩展器端口0为高电平

getDirection(pin)

获取端口的方向(返回 0-输入,1-输出)

var dir = device.io.gpio.getDirection(0); // 获取端口的方向

getDirection(pin, expander)

获取扩展器端口的方向(返回 0-输入,1-输出)

var dir = device.io.gpio.getDirection(0, true); // 获取扩展器端口的方向

setDirection(pin, direction)

设置端口的方向,参数direction: 0-输入,1-输出

setDirection(0, 1); // 设置端口0的方向为输出

setDirection(pin, direction, expander)

设置扩展器端口的方向, 参数direction: 0-输入,1-输出

setDirection(0, 1, true); // 设置扩展器端口0的方向为输出

getTrigger(pin)

获取端口作为输入时的触发方式,返回0-None,1-上升沿,2-下降沿,3-上下沿

var trigger = device.io.gpio.getTrigger(0); // 获取端口0的触发方式

getTrigger(pin, expander)

获取扩展器端口作为输入时的触发方式,返回0-None,1-上升沿,2-下降沿,3-上下沿

var trigger = device.io.gpio.getTrigger(0, true); // 获取扩展器端口0的触发方式

setTrigger(pin, trigger)

设置端口作为输入时的触发方式,参数trigger: 0-None,1-上升沿,2-下降沿,3-上下沿

device.io.gpio.setTrigger(0, 1); // 设置端口0触发方式为上升沿触发

setTrigger(pin, trigger, expander)

设置扩展器端口作为输入时的触发方式,参数trigger: 0-None,1-上升沿,2-下降沿,3-上下沿

device.io.gpio.setTrigger(0, 1, true); //设置扩展器端口0触发方式为上升沿触发