Luat实例教程:pwm功能

本示例实现的功能是:pwm功能demo项目

1.在编辑工具建立一个test.lua的文件(不一定叫这个名字,用户可以自己随便取名)

2.设置本文件被全体可见。也就意味着,一旦test被某一文件加载,则test在任何文件中均可被看见,即test中全局变量和函数均可被任何文件调用。

module(...,package.seeall)

3.test文件头需要 require "xxx" 模块。加载后,就可以调用xxx.lua库文件中的全局变量和函数了

require"misc"

4.定义print函数,调试用

local function print(...)
    _G.print("test",...)
end

5.PWM通道0输出测试

local function testpwm0()
    --频率1000Hz,1毫秒一个周期,每个周期内,高脉冲0.5毫秒,低脉冲0.5毫秒
    misc.openpwm(0,1000,50)
    --2分钟后关闭PWM0
    sys.timer_start(misc.closepwm,120000,0)
end

6.PWM通道1输出测试

local function testpwm1()
    --1024毫秒一个周期,每个周期内,高脉冲110毫秒,低脉冲1024-110=914毫秒
    misc.openpwm(1,3,7)
    --2分钟后关闭PWM0
    sys.timer_start(misc.closepwm,120000,1)
end

7.编写测试函数入口

local function testpwm1()
    testpwm0()
    testpwm1()
end

8.在编辑工具中建立一个名为main.lua的文件。lua脚本的执行从main.lua开始,main.lua是入口文件(注意:main.lua只能有一个)。在main.lua中把test加载进去就好了。sys.init()是对系统初始化,sys.run()是系统主程序。这两句必须有。


--重要提醒:必须在这个位置定义MODULE_TYPE、PROJECT和VERSION变量 --MODULE_TYPE:模块型号,目前仅支持Air201、Air202、Air800 --PROJECT:ascii string类型,可以随便定义,只要不使用,就行 --VERSION:ascii string类型,如果使用Luat物联云平台固件升级的功能,必须按照"X.X.X"定义,X表示1位数字;否则可随便定义 MODULE_TYPE = "Air202" PROJECT = "PWM" VERSION = "1.0.0" require"sys" require"test" if MODULE_TYPE=="Air201" then require"wdt" end sys.init(0,0) sys.run()

!!!attention

一个工程只有一个main.lua

发表评论

电子邮件地址不会被公开。 必填项已用*标注