【Luat-air105】1.air105资料整理及点灯

1 前言

入手一块air105,它的spi较多,尝试点灯

2 官方链接

105发布:http://www.elecfans.com/d/comp-4699659-136340651553233530880.html
105源码:https://gitee.com/openLuat/luatos-soc-air105
105编译说明:https://wiki.luatos.com/develop/compile/Air105.html
105寄存器手册:https://luatos.com/t/air105

LuatOS-SoC@Air105 V0003 正式固件地址:
https://gitee.com/openLuat/LuatOS/releases/v0007.air105.v0003

3 前期准备

3.1 克隆105源码

git clone https://gitee.com/openLuat/luatos-soc-air105.git

【Luat-air105】1.air105资料整理及点灯_第1张图片

3.2 下载固件

下载soc:https://gitee.com/openLuat/LuatOS/releases/v0007.air105.v0003
这里提供了soc以及camera试用的demo

3.3 熟悉一下pin

【Luat-air105】1.air105资料整理及点灯_第2张图片
【Luat-air105】1.air105资料整理及点灯_第3张图片
红色框住的部分就是camera的连接器

3.4 找demo

https://gitee.com/openLuat/LuatOS/tree/master/demo/
目前已经整合了luatos的demo,所以在这里找到对应的105目录就行,当然有的可能没有105目录,那就查看下注释,如果有介绍就用介绍,没有就自己对照电路图分析。

4 点灯——led demo

--https://gitee.com/openLuat/LuatOS/blob/master/demo/gpio/main.lua
-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "gpiodemo"
VERSION = "1.0.0"

log.info("main", PROJECT, VERSION)

-- sys库是标配
_G.sys = require("sys")

if wdt then
    --添加硬狗防止程序卡死,在支持的设备上启用这个功能
    wdt.init(15000)--初始化watchdog设置为15s
    sys.timerLoopStart(wdt.feed, 10000)--10s喂一次狗
end

--下面的GPIO引脚编号,请根据实际需要进行更改!
-- Air101开发板的3个LED分别为 PB08/PB09/PB10
-- Air103开发板的3个LED分别为 PB24/PB25/PB26

-- 若下载到设备后提示pin库不存在,请升级固件到V0006或以上
local LEDA = gpio.setup(pin.PB08, 0, gpio.PULLUP) -- PB8输出模式,内部上拉
local LEDB = gpio.setup(pin.PB09, 0, gpio.PULLUP) -- PB9输出模式,内部上拉
local LEDC = gpio.setup(pin.PB10, 0, gpio.PULLUP) -- PB10输出模式,内部上拉

sys.taskInit(function()
    local count = 0
    while 1 do
        sys.wait(500)
        -- 一闪一闪亮晶晶
        LEDA(count & 0x01 == 0x01 and 1 or 0)
        LEDB(count & 0x02 == 0x02 and 1 or 0)
        LEDC(count & 0x03 == 0x03 and 1 or 0)
        log.info("gpio", "Go Go Go", count, rtos.bsp())
        count = count + 1
    end
end)

-- API文档 https://wiki.luatos.com/api/gpio.html

-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!

对照一下电路图:
【Luat-air105】1.air105资料整理及点灯_第4张图片
对照着修改代码

-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "gpiodemo"
VERSION = "1.0.0"

log.info("main", PROJECT, VERSION)

-- sys库是标配
_G.sys = require("sys")

if wdt then
    --添加硬狗防止程序卡死,在支持的设备上启用这个功能
    wdt.init(15000)--初始化watchdog设置为15s
    sys.timerLoopStart(wdt.feed, 10000)--10s喂一次狗
end

--下面的GPIO引脚编号,请根据实际需要进行更改!
-- Air101开发板的3个LED分别为 PB08/PB09/PB10
-- Air103开发板的3个LED分别为 PB24/PB25/PB26

-- 若下载到设备后提示pin库不存在,请升级固件到V0006或以上
local LEDA = gpio.setup(pin.PD14, 0, gpio.PULLUP) -- PB8输出模式,内部上拉
local LEDB = gpio.setup(pin.PD15, 0, gpio.PULLUP) -- PB9输出模式,内部上拉
local LEDC = gpio.setup(pin.PC03, 0, gpio.PULLUP) -- PB10输出模式,内部上拉

sys.taskInit(function()
    local count = 0
    while 1 do
        sys.wait(500)
        -- 一闪一闪亮晶晶
        LEDA(count & 0x01 == 0x01 and 1 or 0)
        LEDB(count & 0x02 == 0x02 and 1 or 0)
        LEDC(count & 0x03 == 0x03 and 1 or 0)
        log.info("gpio", "Go Go Go", count, rtos.bsp())
        count = count + 1
    end
end)

-- API文档 https://wiki.luatos.com/api/gpio.html

-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!

5 烧录

注意烧录前请设置波特率为1500000
https://wiki.luatos.com/chips/air105/board.html

esp32c3是115200,使用的时候注意切换

注意第一次刷机的时候要刷固件,否则会报错
【Luat-air105】1.air105资料整理及点灯_第5张图片
下载
【Luat-air105】1.air105资料整理及点灯_第6张图片
luatools中的resource中也包含soc文件,也可以用链接上下载的。

你可能感兴趣的:(Luat,lua)