合宙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,个人感觉其更加方便强大还有趣。啊总之就是说,支持国产,合宙加油!!!

  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
对于合宙air105和STM,它们都是嵌入式处理器的代表。合宙air105作为一种嵌入式处理器,是一种基于ARM Cortex-M3内核的微控制器,其中包括高性能的32位RISC处理器和编程存储器。STM则是一种嵌入式系统解决方案提供商,致力于提供先进的嵌入式软件和硬件解决方案,主要集中在微控制器和数字信号处理器上。 从处理性能来看,合宙air105和STM在这方面都拥有同等级别的处理性能,但它们在不同领域的应用上有所区别。就内存而言,STM拥有更高的内存容量和更多的存储空间,适合处理大型程序。而合宙air105则更适合实际应用中的控制系统,要求响应速度更快的应用,如汽车电子、医疗设备、工业自动化控制等领域。 在应用场景上,STM更适合需要实现多任务处理、数字信号处理、复杂算法计算等场景,而合宙air105则更适合需要响应速度更快、低功耗的应用场景,如最小化电池生命周期、最小化电源和维护成本的应用等场景。 除此之外,合宙air105更加轻便、易携带,相对应的供电方式更加灵活多样,可以使用电池、太阳能等多种供电方式,对环保和能耗节约有很好的支持。 总之,合宙air105和STM都是具有很高性价比的嵌入式系统,它们在处理性能、应用场景和能源效率方面有所区别,而应使用场景不同,根据具体需求来选择合适的产品对于用户非常重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值