GPRS(Air202) Lua开发: GPIO输入检测

Posted yangfengwu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GPRS(Air202) Lua开发: GPIO输入检测相关的知识,希望对你有一定的参考价值。

 

 

 

 

1.控制继电器输出高低电平,检测继电器引脚输出高低电平状态

技术图片

 

 

 

module(...,package.seeall)  --固定写法,具体百度lua文件加载(初学者不需要考虑,直接写上这句话即可),这些只是规定的语法而已

require"pins" --加载官方提供的pins文件

--DEMO1  控制继电器输出高低电平,检测继电器引脚输出高低电平状态
--调用pins文件里面的函数控制GPIO2输出高电平
pins.setup(pio.P0_2,1)
Relay_Pin_P02 = pio.P0_2


if(pio.pin.getval(Relay_Pin_P02))  then --获取GPIO输出状态
    log.info("1111111111111111111111111111111111")
end

 

 

 

下载测试

技术图片

 

 

技术图片

 

 

 

 

 

2.配置GPIO输出高电平,检测按钮输入状态

原理图: GPIO5外接一个按钮

技术图片

 

 

技术图片

 

 

 

--DEMO2
--配置GPIO输出高电平,检测按钮输入状态
pins.setup(pio.P0_5,1) --输出高电平:GPIO5
Key_Pin_P05 = pio.P0_5

if(pio.pin.getval(Key_Pin_P05))  then --获取GPIO5状态
    log.info("GPIO5 Input 1")
else
    log.info("GPIO5 Input 0")    
end

 

 

 测试

技术图片

 

 

注:上面的程序运行一遍就结束,真正的按钮检测需要定时器参与

请用户接着学习后面的定时器章节

 

 

3.配置GPIO上拉输入,检测输入状态

技术图片

 

 

--DEMO3
--配置GPIO上拉输入,检测输入状态
Key_P05 = pins.setup(pio.P0_5,nil,pio.PULLUP) --上拉输入:GPIO5
--调用返回的函数:即获取GPIO的状态
if( Key_P05() ) then
    log.info("GPIO5 Input 1")
else
    log.info("GPIO5 Input 0")    
end

 

 测试

技术图片

 

 

以上是关于GPRS(Air202) Lua开发: GPIO输入检测的主要内容,如果未能解决你的问题,请参考以下文章

GPRS(Air202) Lua开发: GPIO中断

GPRS(Air202) Lua开发: GPIO中断

GPRS(Air202) Lua开发: GPIO输入检测

GPRS(Air202) Lua开发: GPIO输入检测

GPRS(Air202) Lua开发: 下载和运行第一个程序

GPRS(Air202) Lua开发: 硬件使用说明