码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-05-24 09:24:46      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:font   relay   学习   运行   写法   class   demo1   https   ifd   

 

 

 

 

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输入检测

标签:font   relay   学习   运行   写法   class   demo1   https   ifd   

原文地址:https://www.cnblogs.com/yangfengwu/p/12945440.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!