【LuatOS】笔记(二)&基础框架

开发环境搭建

  合宙官方搭建的是:vscode+LuatOS-SOC推荐拓展包(vscode插件),原文链接:LuatOS开发环境搭建。安装完创建项目文件,创建main.lua文件,就可以开始编写了。

函数与使用

LuatOS-SOC接口文档[1](#1),该文档下面的模块函数可以直接使用

lua 复制代码
XXX.函数名()

扩展库接口文档[2](#2),该文档下面的模块函数需要先导入,才能使用

lua 复制代码
local aht10 = require "aht10"
aht10.函数名()

而且就算实在看不懂怎么用,在对应的模块的文档,都会有Demo程序,作为演示,方便快速上手的。

文件框架

  程序文件的基本框架也基本分为,LuaTools需要的信息,用户任务的编写与创建,任务调度。这里在对LuatOS运行框架的任务在进行介绍一下,它这里的任务并没有任务优先级的说法,所以可以认为创建的所有任务优先级都一样,其次就只有创建任务,启动任务这些,没有临界区之类比较严谨的程序,不过在sysplus库(sys库的强力补充)中,倒是补充了些类似于队列消息类的函数。

lua 复制代码
-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "demo"
VERSION = "1.0.0"

-- 引入必要的库文件(lua编写), 内部库不需要require
sys = require("sys")
-- sys库的强力补充
require("sysplus")

-- 编写用户事件 --
function MainTask()
    -- Cord  
end

-- 创建任务协程 --
sys.taskinit(MainTask)

sys.run()
-- sys.run()之后后面不要加任何语句!!!!!

一些要注意的地方

  • 每个任务协程创建后,不能只给死循环,哪怕只给个sys.wait(10)延时都行,否则烧录后会报错。

Lua速览

  以下为Lua语法的基本应用介绍,当然适合有编程语言基础的人速览,大概了解Lua的基础语法结构。要是想要仔细学习的话可以去这个网站菜鸟教程Lua教程进行学习的。

_G.XXX的定义可以认为是定义了一个全局变量。

  • 变量

    lua 复制代码
    -- 全局变量
    a = 5
    _G.XXX = 5
    
    -- 局部变量
    local a = 5
  • 循环

    lua 复制代码
    while 条件 do
        -- 代码内容
    end
    
    -- for i=10,1,-1 do
    for 变量名=初始值,最终值,步长 do  
        -- 代码内容 
    end
  • 判断

    lua 复制代码
    if 条件 then
       -- 代码内容
    end
  • 函数

    lua 复制代码
    -- 全局函数(默认)
    function name()
        -- 代码内容
    end
    
    -- 局部函数
    local function name()
        -- 代码内容
    end
  • 运算符

    lua 复制代码
    -- 算术运算符
    -- +(加法) -(减法) *(乘法) /(除法) %(取余) ^(乘幂) //(整除)
    
    -- 关系运算符
    -- ==(是否等于) ~=(是否不等于) >(是否大于) <(是否小于) >=(是否大于或等于) <=(是否小于或等于)
    
    -- 逻辑运算符
    -- and	or	not
    
    -- 其他运算符
    -- ..(连接两个字符串)	#(返回字符串或表的长度)
  • 模块于包

    lua 复制代码
    -- 以下两个语句导入包,等价效果
    sys = require("sys")
    require("sys")

  1. 位置
    ↩︎

  2. 位置
    ↩︎

相关推荐
jing.wang_202515 分钟前
TI TMS320C6678芯片实现IP及端口在线修改并生效
网络·嵌入式硬件·tcp/ip·dsp开发
CET中电技术28 分钟前
不用外挂传感器、不用停机检测——CET中电技术如何重构电动机运维范式?
单片机·嵌入式硬件
都在酒里30 分钟前
FreeRTOS 手动移植教程(四):队列 —— 任务间通信的最佳起点
stm32·单片机·rtos
0x3F(小茶)37 分钟前
嵌入式C设计模式完全指南(基于《C嵌入式编程设计模式》)
c语言·开发语言·单片机·嵌入式硬件·设计模式
元气少女小圆丶42 分钟前
SenseGlove Nova 2+Unity开发笔记4
笔记·unity·游戏引擎
都在酒里1 小时前
FreeRTOS 手动移植教程(二):任务管理——多任务创建、优先级抢占与删除
stm32·单片机·嵌入式硬件·rtos
提伯斯6461 小时前
Jetson_Pixhawk局域网UDP连接QGC
linux·网络·嵌入式硬件·网络协议·udp·jetson
ZK_H1 小时前
MFC程序开发自学笔记其一——windows应用程序与c++基础
c++·笔记·mfc
是温不嗜温2 小时前
65W QR 反激主控选型 checklist:LP8841IIC 对比 MPS/昂宝/通嘉 十项参数逐一过
嵌入式硬件·电源管理·电源芯片·ac-dc
都在酒里2 小时前
FreeRTOS 手动移植教程(五):信号量 —— 任务同步与中断通知的优雅解决方案
stm32·单片机·rtos·嵌入式软件