合宙Air103 LuatOS开发小试

一、简介

 使用LuatOS开发Air103,先点个灯熟悉流程。可以使用官方建议的vs code的LuatIDE进行开发会比较方便;
 但是由于用Lua脚本语言开发,编辑器显得不那么重要了,随便用都一样。本人懒虫,直接拿裸编辑器写了(个人喜好Sublime)。
 用LuaTools通过串口烧录。

二、安装工具SDK

 编辑器随便就行,记事本也不是不可以(doge);
 通过串口烧录固件及脚本,去官方wiki下载LuaTools得到压缩包;

 解压压缩包可以得到Luatools_v2.exe文件,双击运行即可在同目录下创建多个文件夹并获取相应资源(如果提示更新就先更新),其中重点关注resource文件夹,各个芯片最新的固件以及例程都在里面;

三、编写点灯脚本

 \resource\103_lua_lod\core_V0006\demo\gpio\文件夹内找到main.lua并拷贝作为参考,其实这就是官方给的点灯例程,由于Air103和Air101官方核心板的led引脚不同,但是固件及例程是通用的,所以需要修改引脚;
 到官方wiki找到核心板的引脚图,找到LED分别是24,25,26号脚,新版固件可直接写作pin.PB40,pin.PB41,pin.PB42,对代码进行修改后如下;

-- 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引脚编号,请根据实际需要进行更改!
--[[-- v0006及以后版本可用pin方式
local LEDA = gpio.setup(pin.PB24, 0, gpio.PULLUP) -- PB24输出模式
local LEDB = gpio.setup(pin.PB25, 0, gpio.PULLUP) -- PB25输出模式
local LEDC = gpio.setup(pin.PB26, 0, gpio.PULLUP) -- PB26输出模式
]]

local LEDA = gpio.setup(40, 0, gpio.PULLUP) -- PB24输出模式
local LEDB = gpio.setup(41, 0, gpio.PULLUP) -- PB25输出模式
local LEDC = gpio.setup(42, 0, gpio.PULLUP) -- PB26输出模式

sys.taskInit(function()
    local count = 0
    local uid = ""
    if mcu then
        uid = mcu.unique_id():toHex()
    elseif nbiot then
        uid = nbiot.imei()
    end
    while 1 do
        -- 一闪一闪亮晶晶
        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", uid, count)
        sys.wait(1000)
        count = count + 1
    end
end)

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

四、烧录固件及脚本

 接上板卡,打开LuaTools,左上角选择通用串口打印,找到正确串口,波特率设为921600;

 点击左下角“创建项目”,输入项目名称后确定;

 点击右上角项目管理测试,点击选择底层CORE后面的选择文件,找到合适的固件,参考文件目录\LuaTools\resource\103_lua_lod\core_V0006\LuatOS-SoC_V0006_AIR103.soc,选择;

 点击“增加脚本”,找到刚才修改的脚本文件并选择;

 最后点击“下载底层和脚本”即可开始烧录。第一次选择底层和脚本,不更改固件的话后续烧录程序只需选择“下载脚本”即可;

 等待进度条走完,下方显示“下载成功”就完事儿了;

 返回之前的页面就可以看到调试信息了;

其他

 首先,LuatIDE十分方便强大,但是本人试用的时候总是出现烧录不正常,调试出错等问题,尚未搞清楚原因,所以才选择了使用编辑器+LuaTools。
 LuaTools这个工具也十分方便,不光是烧录,还有检查语法,加密脚本,远程升级等诸多功能,非常方便开发者使用。此次只是小试牛刀,体验相当不错;
 总的来说,LuatOS提供了使用Lua语言快速开发的途径,相比于Micropython,个人感觉其更加方便强大还有趣。啊总之就是说,支持国产,合宙加油!!!

版权声明:本文为CSDN博主「针针扎是带啥纸」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hgf_fgh/article/details/122370107

生成海报
点赞 0

针针扎是带啥纸

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

rt_thread hc32f460开发四:pwm驱动移植

RT-Thread 驱动开发简介 RT-Thread驱动开发最开始应该是要阅读官方的文档,理解驱动的运行原理和使用方法。PWM部分的文档在这里https://www.rt-thread.org/document/site/#/rt

从零开始构建嵌入式实时操作系统1——任务切换

1.前言 随着计算机技术和微电子技术的迅速发展,嵌入式系统应用领域越来越广泛,尤其是其具备低功耗技术的特点得到人们的重视。随着工信部提出NB-IoT基站建设具体目标、三大运营商加速建设,即将迎来万物互联

智慧农业接入复合式树莓派网关(一)

一、功能概述 ​树莓派网关采集485温湿度传感器以及485门磁开关状态数据上报到云端;同时收到云端的指令,树莓派网关处理之后,控制继电器动作,同时继电器返回当前的状态给云端&#xff1b

树莓派4BGPIO串口通讯设置(3B+通用)

树莓派最大的魅力就是接口丰富,借助这些开放的接口,可以实现很多好玩又实用的功能,比如通过接口控制电机实现智能小车的动力控制、通过接口控制LED灯珠亮灭给心上人制造IT男独有的浪漫等等。 同时我们也将树