esp32c3 luaos

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

官网固件处讲解
现在已经不推本地的tools进行esp32c3的烧录; 时间(2024.8.21)

在这里插入图片描述
这上面说推荐直接云客户端
直接看官网云客户端配置


提示:以下是本篇文章正文内容,下面案例可供参考

一、介绍

在这里插入图片描述
在这里插入图片描述
其他介绍看这个

二、相关介绍

上面云端的那个地方就是进行一些固件,不是正在的代码编写。
他没有专有的ide要在vscode里面编写。环境搭建
烧录教程此时resource里面是没有esp32的需要使用上面的云端那个配置soc固件烧到板子里面
此时两个gpio灯微微亮。

2.1helloworld——

这时候我们用vscode编写代码

PROJECT = "hello_world"
VERSION = "0.0.1"

sys = require"sys"
--代码区start

local LEDA= gpio.setup(12, 0, gpio.PULLUP)
local LEDB= gpio.setup(13, 0, gpio.PULLUP)


print("hello world")

-- LEDA(0)
--代码区end

sys.run()

2.2任务框架

然后将脚本烧录了。
使用任务的方式进行闪烁
有需要任务框架教程
对于gpio的操作

PROJECT = "hello_world"
VERSION = "0.0.1"

sys = require("sys")
--代码区start

local LEDA= gpio.setup(12, 0, gpio.PULLUP)
local LEDB= gpio.setup(13, 0, gpio.PULLUP)

sys = require("sys")
--第一个任务
sys.taskInit(function()
    while true do
        log.info("task1","-----")
        print("system start")
        sys.wait(500) --延时500m秒,这段时间里可以运行其他代码
    end
end)

--第二个任务
sys.taskInit(function()
    while true do
        log.info("task2","------")
        LEDA(1)
        LEDB(1)
        sys.wait(500) --延时0.5秒,这段时间里可以运行其他代码
        LEDA(0)
        LEDB(0)
        sys.wait(500) --延时0.5秒,这段时间里可以运行其他代码
    end
end)


print("system start\n")

-- LEDA(0)
--代码区end

sys.run()

即可完成打印和闪烁
对于这个函数的定义以及任务的定义 ,也可以采用这种方式

PROJECT = "hello_world"
VERSION = "0.0.1"

sys = require("sys")
--代码区start

local LEDA= gpio.setup(12, 0, gpio.PULLUP)
local LEDB= gpio.setup(13, 0, gpio.PULLUP)

sys = require("sys")
--第一个任务

function task1()
    while true do
        log.info("task1","-----")
        print("system start")
        sys.wait(500) --延时500m秒,这段时间里可以运行其他代码
    end
end
--第二个任务
sys.taskInit(function()
    while true do
        log.info("task2","------")
        LEDA(1)
        LEDB(1)
        sys.wait(500) --延时0.5秒,这段时间里可以运行其他代码
        LEDA(0)
        LEDB(0)
        sys.wait(500) --延时0.5秒,这段时间里可以运行其他代码
    end
end)

sys.taskInit(task1)

print("system start\n")

-- LEDA(0)
--代码区end

sys.run()

2.3消息传递 与消息订阅

消息传递
sys.publish
sys.waitUntil
在这里插入图片描述
在这里插入图片描述

订阅消息
sys.subcribe
sys.unsubcribe

在这里插入图片描述

2.4uart

local LEDA= gpio.setup(12, 0, gpio.PULLUP)
local LEDB= gpio.setup(13, 0, gpio.PULLUP)
local uartid = 1
--初始化
uart.setup(
    uartid,--串口id
    115200,--波特率
    8,--数据位
    1--停止位
)
-- 收取数据会触发回调, 这里的"receive" 是固定值
uart.on(uartid, "receive", function(id, len)
    local s = uart.read(id, len)
    if #s > 0 then -- #s 是取字符串的长度
        if s == "on" then
            LEDA(1)
        elseif s == "off" then
            LEDA(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值