| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- -- LuaTools需要PROJECT和VERSION这两个信息
- PROJECT = "pwmdemo"
- VERSION = "1.0.0"
- log.info("main", PROJECT, VERSION)
- --添加硬狗防止程序卡死
- if wdt then
- wdt.init(9000) -- 初始化watchdog设置为9s
- sys.timerLoopStart(wdt.feed, 3000)--3s喂一次狗
- end
- -- 测试一
- local PWM_ID = 0 -- 代码中使用pwm通道0,如需使用其他pwm通道请查看Air8101/pwm使用指南/pwm通道说明。
- sys.taskInit(function()
- while true do
- -- 开启pwm通道0,设置脉冲频率为1kHz,分频精度为1000,占空比为10/1000=1% 持续输出
- pwm.open(PWM_ID, 1000, 10, 0, 1000) -- 小灯微微发光
- log.info("pwm", "当前分频精度1000,占空比1%")
- sys.wait(1000)
- -- 开启pwm通道0,设置脉冲频率为1kHz,分频精度为256,占空比为128/256=50% 持续输出
- pwm.open(PWM_ID, 1000, 128, 0, 256) -- 小灯中等亮度
- log.info("pwm", "当前分频精度256,占空比50%")
- sys.wait(1000)
- -- 开启pwm通道0,设置脉冲频率为1kHz,分频精度为100,占空比为100/100=100% 持续输出
- pwm.open(PWM_ID, 1000, 100, 0, 100) -- 小灯很高亮度
- log.info("pwm", "当前分频精度100,占空比100%")
- sys.wait(1000)
- end
- end)
- -- 测试二
- --[[
- local PWM_ID = 0
- sys.taskInit(function()
- log.info("pwm", "ch", PWM_ID)
- while 1 do
- -- 仿呼吸灯效果
- log.info("pwm", ">>>>>")
- -- 占空比从90%(i=10时)到9%(i=1时)
- for i = 10,1,-1 do
- pwm.open(PWM_ID, 1000, i*9) -- 频率1000hz, 占空比0-100
- sys.wait(100 + i*10)
- end
- -- 占空比从10%增加到90%
- for i = 10,1,-1 do
- pwm.open(PWM_ID, 1000, 100 - i*9)
- sys.wait(100 + i*10)
- end
- sys.wait(2000)
- end
- end) ]]
- -- 用户代码已结束---------------------------------------------
- -- 结尾总是这一句
- sys.run()
- -- sys.run()之后后面不要加任何语句!!!!!
|