一、简介
使用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
暂无评论