【合宙Air105开发板试用体验】Air105定时器以及LuaTask框架的使用

描述

本文来源电子发烧友社区,作者:工程认知教育中心的硬件小屋, 帖子地址:https://bbs.elecfans.com/jishu_2289624_1_1.html

一.LuaTask中定时器的介绍
    sys.timerStart(fnc,time)
    fnc为回调函数,time为定时时间,在luatos中sys.timerStart定时器,只会运行一次
    sys.timerLoopStart(fnc,time)
    fnc为回调函数,time为定时时间,在luatos中sys.timerLoopStart定时器,会循环执行
二.实验现象及目的
    通过sys.timerStart 实现D3 LED灯的循环点亮
    通过 sys.timerLoopStart实现D4 LED灯的循环点亮
三.实验代码



  1. PROJECT = 'helloworld'
  2. VERSION = '1.0.0'
  3.  
  4. -- 引入必要的库文件(lua编写), 内部库不需要require
  5. local sys = require 'sys'
  6. log.info('main', 'hello world')
  7. gpio.setup(62,0,gpio.PULLDOWN)
  8. gpio.setup(63,0,gpio.PULLDOWN)
  9. gpio.set(62,0)
  10. gpio.set(63,0)
  11. print(_VERSION)
  12.  
  13. sys.timerLoopStart(function()
  14.         print('hi, LuatOS')
  15. end, 3000)
  16. local a=1
  17.  
  18. sys.taskInit(function()
  19.        
  20.         while true do
  21.         if a==1 then
  22.                 sys.timerStart(function() gpio.set(62,1) a=0 end,500)
  23.         end
  24.     if a==0 then
  25.                 sys.timerStart(function() gpio.set(62,0) a=1 end,1000)
  26.  
  27.         end       
  28.     sys.wait(1000)
  29.     end
  30.        
  31.        
  32.        
  33. end)
  34.  
  35. local b=1
  36. sys.timerLoopStart(function ()
  37.   if b==1 then
  38.         gpio.set(63,1)
  39.         b=0
  40.    else
  41.         gpio.set(63,0)
  42.     b=1
  43.    end
  44. end,500)
  45.  
  46. sys.run()
复制代码

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分