输入输出-gpio
描述
通用输入输出,板载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触发方式为上升沿触发 |