博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
16-(基础入门篇)GPRS(Air202)关于多个文件中的变量调用和定时器
阅读量:6683 次
发布时间:2019-06-25

本文共 3106 字,大约阅读时间需要 10 分钟。

因为自己看到好多问多个文件调用的,感觉这个应该说一说

对了大家有没有知道这个是干什么的

 

 大家有没有看这篇 

 

 实际上,这是lua5.几新加的功能,就是为了省掉那些复杂的程序

 我又新建了一个test1

 

让test  调用 test1里面的一个变量

    

 

 下载进去

 

 注意哈,这样是不允许的,再用test1请求test文件,然后调用test里面的值

      

 

 

 如果想这样做,其实可以再做一个文件哈,里面放一个变量,然后test和test1都可以请求这个文件并操作这个变量

 

现在看定时器

 

我这里就直接说啦  一次性的定时器(执行一遍就完)(不带ID)

 

module(...,package.seeall)--[[函数名:print功能  :打印接口,此文件中的所有打印都会加上test前缀参数  :无返回值:无]]local function print(...)    _G.print("test",...)endlocal function Timer1()    print("一次的定时器,没有ID")endsys.timer_start(Timer1,10000)//延时10S调用Timer1函数

 

下载看看

 

 一次性的不需要关闭,因为是自己关闭

然后来个循环的

module(...,package.seeall)--[[函数名:print功能  :打印接口,此文件中的所有打印都会加上test前缀参数  :无返回值:无]]local function print(...)    _G.print("test",...)endlocal function Timer1()    print("一次的定时器,没有ID")endsys.timer_start(Timer1,10000)local function Timer2()    print("这个是循环定时器,没有ID")endsys.timer_loop_start(Timer2,2000)

 

 现在用一个变量在里面加一,加到5停止这个定时器

module(...,package.seeall)--[[函数名:print功能  :打印接口,此文件中的所有打印都会加上test前缀参数  :无返回值:无]]local function print(...)    _G.print("test",...)endlocal function Timer1()    print("一次的定时器,没有ID")endsys.timer_start(Timer1,10000)local cnt=0local function Timer2()    print("这个是循环定时器,没有ID")     cnt=cnt+1    if  cnt>=5 then        cnt=0        sys.timer_stop(Timer2)--直接填入函数停止         print("这个是循环定时器,没有ID,现在停止")    endendsys.timer_loop_start(Timer2,2000)

 

 

 

 现在说带ID的,可以看一下

 

 

module(...,package.seeall)--[[函数名:print功能  :打印接口,此文件中的所有打印都会加上test前缀参数  :无返回值:无]]local function print(...)    _G.print("test",...)endlocal function Timer1()    print("一次的定时器,没有ID")endsys.timer_start(Timer1,10000)local cnt=0local function Timer2()    print("这个是循环定时器,没有ID")    cnt=cnt+1    if  cnt>=5 then        cnt=0        sys.timer_stop(Timer2)--直接填入函数停止        print("这个是循环定时器,没有ID,现在停止")    endendsys.timer_loop_start(Timer2,2000)local cnt1=0local function Timer3()    print("这个是循环定时器,有ID")    cnt1=cnt1+1    if  cnt1>=5 then        cnt1=0        sys.timer_stop(1)--直接填入函数停止        print("这个是循环定时器,有ID,现在停止")    endendsys.timer_loop_start(Timer3,2000,1)

 

 

 

 所以

 

 这样可以停止

 好现在控制灯每进一次定时器就反转一次,就是周期性亮灭

local function Timer4()    pio.pin.setval(1-pio.pin.getval(pio.P0_5),pio.P0_5)endsys.timer_loop_start(Timer4,2000,1)

 

1-pio.pin.getval(pio.P0_5)
pio.pin.getval(pio.P0_5)是读取引脚的高低电平状态   1-这个(0或者1) 正好是反转得到1和0
 

 

 最终所有的源码

 

module(...,package.seeall)--[[函数名:print功能  :打印接口,此文件中的所有打印都会加上test前缀参数  :无返回值:无]]local function print(...)    _G.print("test",...)endlocal function Timer1()    print("一次的定时器,没有ID")endsys.timer_start(Timer1,10000)local cnt=0local function Timer2()    print("这个是循环定时器,没有ID")    cnt=cnt+1    if  cnt>=5 then        cnt=0        sys.timer_stop(Timer2)--直接填入函数停止        print("这个是循环定时器,没有ID,现在停止")    endendsys.timer_loop_start(Timer2,2000)local cnt1=0local function Timer3()    print("这个是循环定时器,有ID")    cnt1=cnt1+1    if  cnt1>=5 then        cnt1=0        sys.timer_stop(Timer3,1)        print("这个是循环定时器,有ID,现在停止")    endendsys.timer_loop_start(Timer3,2000,1)pio.pin.setdir(pio.OUTPUT,pio.P0_5)pio.pin.setval(0,pio.P0_5)local function Timer4()    pio.pin.setval(1-pio.pin.getval(pio.P0_5),pio.P0_5)endsys.timer_loop_start(Timer4,2000,1)

 

定时器就说到这里哈

资料源码链接

链接: 密码:p9qs

基础教程源码链接如果失效,请在淘宝介绍中下载,由于链接还是失效,请联系卖家,谢谢

 

 

 

 

转载地址:http://ymxao.baihongyu.com/

你可能感兴趣的文章
WebPack牛刀小试
查看>>
技巧: iPhone玩游戏手机发烫?有妙招
查看>>
Invalid encoding name "UTF8". 报错 XML
查看>>
Python : 会打扮的装饰器
查看>>
oracle 查找删除重复数据
查看>>
MySQL重点关注性能及相关分析命令详解
查看>>
各种传马wmi c#原代码
查看>>
Derby-10.11学习笔记(三)Derby系统表及存储过程
查看>>
标准W3C盒子模型和IE盒子模型CSS布局经典盒子模型(转)
查看>>
用Windows Server 2012 R2 搭建二层证书服务结构 Part 4
查看>>
SQL Server 2008高可用×××介绍
查看>>
STP收敛
查看>>
VirtualBox无法进入Win8PE的桌面
查看>>
Cisco3550 交换机 端口限速
查看>>
Linux卸载系统自带的httpd的方法
查看>>
《Oracle从入门到精通》读书笔记第十五章 Oracle数据备份与恢复之二
查看>>
Android安全讲座第九层(二) 内存dump
查看>>
弹出菜单效果
查看>>
SQL常用语句集合(不断更新)
查看>>
centos 5 安装教程注意事项
查看>>