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

 测试

猜你喜欢

转载自www.cnblogs.com/yangfengwu/p/12945440.html