Skip to content

输入输出-gpio

描述

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

事件

onValue:端口发生变化时触发, 函数定义:onValue(pin, value, expander),pin表示端口号,value表示高低电平(1-高电平,0-低电平),expander是否为扩展器

属性

名称功能说明脚本例子
p0ValueGPIO端口0的电平值device.gpio.p0Value=1 设置GPIO端口0为高电平(需设置该端口为输出口)
p0DirectionGPIO端口0的方向,0-Input,1-Outputdevice.gpio.p0Direction=1 设置GPIO端口0为输出口
p0TriggerGPIO端口0的触发方式,0-None, 1-Rising, 2-Falling, 3-Bothdevice.gpio.p0Trigger=1 设置GPIO端口0为上升沿触发onLevel事件
p1ValueGPIO端口1的电平值device.gpio.p1Value=1 设置GPIO端口1为高电平(需设置该端口为输出口)
p1DirectionGPIO端口1的方向,0-Input,1-Outputdevice.gpio.p1Direction=1 设置GPIO端口1为输出口
p1TriggerGPIO端口1的触发方式,0-None, 1-Rising, 2-Falling, 3-Bothdevice.gpio.p1Trigger=1 设置GPIO端口1为上升沿触发onLevel事件
p2ValueGPIO端口2的电平值device.gpio.p2Value=1 设置GPIO端口2为高电平(需设置该端口为输出口)
p2DirectionGPIO端口2的方向,0-Input,1-Outputdevice.gpio.p2Direction=1 设置GPIO端口2为输出口
p2TriggerGPIO端口2的触发方式,0-None, 1-Rising, 2-Falling, 3-Bothdevice.gpio.p2Trigger=1 设置GPIO端口2为上升沿触发onLevel事件
p3ValueGPIO端口3的电平值device.gpio.p3Value=1 设置GPIO端口3为高电平(需设置该端口为输出口)
p3DirectionGPIO端口3的方向,0-Input,1-Outputdevice.gpio.p3Direction=1 设置GPIO端口1为输出口
p3TriggerGPIO端口3的触发方式,0-None, 1-Rising, 2-Falling, 3-Bothdevice.gpio.p3Trigger=1 设置GPIO端口3为上升沿触发onLevel事件
p4ValueGPIO端口4的电平值device.gpio.p4Value=1 设置GPIO端口4为高电平(需设置该端口为输出口)
p4DirectionGPIO端口4的方向,0-Input,1-Outputdevice.gpio.p4Direction=1 设置GPIO端口4为输出口
p4TriggerGPIO端口4的触发方式,0-None, 1-Rising, 2-Falling, 3-Bothdevice.gpio.p4Trigger=1 设置GPIO端口4为上升沿触发onLevel事件
p5ValueGPIO端口5的电平值device.gpio.p5Value=1 设置GPIO端口5为高电平(需设置该端口为输出口)
p5DirectionGPIO端口5的方向,0-Input,1-Outputdevice.gpio.p5Direction=1 设置GPIO端口5为输出口
p5TriggerGPIO端口5的触发方式,0-None, 1-Rising, 2-Falling, 3-Bothdevice.gpio.p5Trigger=1 设置GPIO端口5为上升沿触发onLevel事件
p6ValueGPIO端口6的电平值device.gpio.p6Value=1 设置GPIO端口2为高电平(需设置该端口为输出口)
p6DirectionGPIO端口6的方向,0-Input,1-Outputdevice.gpio.p6Direction=1 设置GPIO端口2为输出口
p6TriggerGPIO端口6的触发方式,0-None, 1-Rising, 2-Falling, 3-Bothdevice.gpio.p6Trigger=1 设置GPIO端口6为上升沿触发onLevel事件
p7ValueGPIO端口7的电平值device.gpio.p7Value=1 设置GPIO端口7为高电平(需设置该端口为输出口)
p7DirectionGPIO端口7的方向,0-Input,1-Outputdevice.gpio.p7Direction=1 设置GPIO端口7为输出口
p7TriggerGPIO端口7的触发方式,0-None, 1-Rising, 2-Falling, 3-Bothdevice.gpio.p7Trigger=1 设置GPIO端口7为上升沿触发onLevel事件

方法


名称功能说明脚本例子
isExpanderSupported()检测扩展器是否支持var supported = device.gpio.isExpanderSupported();
getValue(pin)获取端口的电平值var value = device.gpio.getValue(0); // 获取端口0的电平值
getValue(pin, expander)获取扩展器端口的电平值var value = device.gpio.getValue(0, true); // 获取扩展器端口0的电平值
setValue(pin, value)设置端口的电平值device.gpio.setValue(0, 1); // 设置端口0为高电平
setValue(pin, value, expander)设置扩展器端口的电平值device.gpio.setValue(0, 1, true); // 设置扩展器端口0为高电平
getDirection(pin)获取端口的方向(返回 0-输入,1-输出)var dir = device.gpio.getDirection(0); // 获取端口的方向
getDirection(pin, expander)获取扩展器端口的方向(返回 0-输入,1-输出)var dir = device.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.gpio.getTrigger(0); // 获取端口0的触发方式
getTrigger(pin, expander)获取扩展器端口作为输入时的触发方式,返回0-None,1-上升沿,2-下降沿,3-上下沿var trigger = device.gpio.getTrigger(0, true); // 获取扩展器端口0的触发方式
setTrigger(pin, trigger)设置端口作为输入时的触发方式,参数trigger: 0-None,1-上升沿,2-下降沿,3-上下沿device.gpio.setTrigger(0, 1); // 设置端口0触发方式为上升沿触发
setTrigger(pin, trigger, expander)设置扩展器端口作为输入时的触发方式,参数trigger: 0-None,1-上升沿,2-下降沿,3-上下沿device.gpio.setTrigger(0, 1, true); // 设置扩展器端口0触发方式为上升沿触发