基于合宙esp32c3开发板,luatos平台的项目源码

文章展示了使用Lua语言进行GPIO配置和控制的几个例子,包括打印HelloWorld、点亮和切换LED、按键控制LED、呼吸灯效果以及循环LED。所有示例都涉及到sys库的使用,如timerLoopStart、wait、setup等函数,实现对硬件的定时操作和状态改变。
摘要由CSDN通过智能技术生成

hello world

helloworls.lua

PROJECT="hello world"
VERSION="0.0.1"
sys=require("sys")
sys.timerLoopStart(print,1000,"hello world")
sys.run()

点亮led

led.lua

PROJECT="led"
VERSION="0.1.0"
sys=require("sys")
led1=gpio.setup(12,0,gpio.PULLUP)
led2=gpio.setup(13,0,gpio.PULLUP)
led1(1)
sys.run()

通过按键开关灯

基于开发板上的boot按键和一个led

PROJECT="hello"
VERSION="0.0.2"
sys=require("sys")
gpio.debounce(9,5)

led=gpio.setup(12,0,PULLUP)
key=gpio.setup(9,function(state)
    if key()==0 then
        gpio.toggle(12)
    end
end,gpio.PULLUP,gpio.FALLING)

sys.run()

呼吸灯

PROJECT="hello"
VERSION="0.0.2"
sys=require("sys")
--添加硬狗防止程序卡死
if wdt then
    wdt.init(9000)--初始化watchdog设置为9s
    sys.timerLoopStart(wdt.feed, 3000)--3s喂一次狗
end
sys.taskInit(function()
    while 1 do
        for i=100,0,-1 do
            pwm.open(12,1000,100-i)
            sys.wait(20)
        end
        for i=0,100 do
            pwm.open(12,1000,100-i)
            sys.wait(20)
        end
    end
end
)

sys.run()

循环led

基于开发板上的两个led

PROJECT="hello world"
VERSION="0.1.0"
sys=require("sys")
led1=gpio.setup(12,0,gpio.PULLUP)
led2=gpio.setup(13,0,gpio.PULLUP)
sys.taskInit(function()
    while 1 do
        sys.wait(1000)
        led1(1)
        led2(0)
        sys.wait(1000)
        led1(0)
        led2(1)
    end
end)
sys.run()

未完待续,持续更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值