购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3.2 GPIO输入输出操作

1.硬件介绍

Lua的开发硬件可以选择图1.1.15所示的上海合宙官方推出的开发板,也可以选择叶帆科技推出的YF3300-Air724UG物联网智能网关(如图1.3.10所示)。考虑到后续章节要对接RS485接口的温湿度模块,所以本小节采用的硬件为YF3300-Air724UG物联网智能网关。相关外部的接口定义和图1.2.19所示的YF3300 4G-Cat1硬件接口示意图完全一样。

● 图1.3.10 YF3300-Air724UG物联网智能网关

Air724UG共有28个GPIO,部分引脚需要打开对应的ldo电压域才能正常工作,GPIO 29,30,31管脚通过pmd.ldoset(x,pmd.LDO_VSIM1)指令开启,GPIO 0,1,2,3,4管脚通过pmd.ldoset(x,pmd.LDO_VLCD)开启。

YF3300-Air724UG有电源,通信状态,用户状态三个LED灯,对应的GPIO管脚分别是5、1、4。

两路开关量输入I1、I2分别对应的GPIO为22、23。

一路继电器输出Q1对应的GPIO为11。

2. GPIO标准输入输出库

GPIO标准输入输出库如表1-1所示。pins模块提供两个函数,一个是setup配置GPIO,一个是close关闭GPIO的使用。

pins.setup(pin, val, pull)

表1-1 GPIO标准输入输出库

(续)

pins.close(pin)

pin的定义如上表所示。

采用以上的标准库,我们编写一个每隔1000ms,设置三个LED灯和继电器Q,且同时读取I1、I2开关量状态的示例代码。

和图1.3.7所示的一样,新建一个GPIOTest的项目,然后输入如下的代码:

3. GPIO输入输出调试

编写完代码,参考图1.3.9所示把相关代码部署到YF3300-Air724UG物联网智能网关,如果一切正常,此时应该可以看到三个LED灯每隔1000ms闪烁一次,另外给I1和I2分别输入一个3~24V的电压,可以从调试控制台观察到I1和I2的状态变化(如图1.3.11所示)。

● 图1.3.11 LuatIDE GPIO调试界面 Ls9tQ9I0QpGQF9xlGOX7zY6Ji+4tlLvgZ114PATE0iP5RpFDGSG/FNGY0iKLUrMA

点击中间区域
呼出菜单
上一章
目录
下一章
×