Skip to content

Latest commit

 

History

History
121 lines (92 loc) · 6.47 KB

README_FULL.md

File metadata and controls

121 lines (92 loc) · 6.47 KB

LuatOS logo

star fork license

air101 air105 esp32 win32 linux Build Status

LuatOS-SoC是一款实时操作系统,用户编写Lua代码就可完成各种功能, 仅需极少的内存和Flash空间

  1. 基于Lua 5.3.x脚本编程,无需编译,把Lua文本文件下载到设备即可完成开发
  2. 低内存需求, 最低32kb ram, 96kb flash空间
  3. 硬件抽象层兼容M3/armv7/risc-v/win32/posix等等,具有强大的扩展性
  4. 可测试,可模拟,可裁剪,可扩展, 提供高效的开发效率
  5. 基于合宙深耕的Lua-Task编程模型,实现异步/同步无缝切换

代码示例节选

做一个灯神(点亮并闪烁一个LED灯)

local sys = require("sys")

-- 把GPIO19设置为输出模式,上拉,初始电平为低电平(0代表低电平,1代表高电平)
local netled = gpio.setup(19, 0, gpio.PULLUP)

sys.taskInit(function() --(LuaTask的task模式,对应协程)
    while 1 do
        netled(1) -- 输出高电平
        sys.wait(500) -- 等待500ms(LuaTask异步休眠)
        netled(0) -- 输出低电平
        sys.wait(500) -- 等待500ms(LuaTask异步休眠)
    end
end)

-- 主循环, 必须加
sys.run()

如何使用LuatOS-SoC

  1. 首先, 购买开发板(Air101)
  2. 然后, 下载固件包,按压缩包里的文档进行刷机
  3. 开始愉快地玩耍(或者放着积灰...)

QQ群: 1061642968


资源


使用到的开源项目

  • lua Lua官网
  • rt-thread 国产rtos, 非常好用
  • rtt-ds18b20 在RT-Thread环境下读取ds18b20
  • LuaTask 合宙LuaTask
  • iRTU 基于Luat的DTU, 稀饭大神
  • airkissOpen 参考其实现思路
  • minmea 解析nmea
  • u8g2_wqy u8g2的中文字体
  • printf A printf / sprintf Implementation for Embedded Systems
  • YMODEM for Python YMODEM 用于下载脚本
  • elua eLua 虽然已经停更多年,但精神犹在
  • FlashDB 一款支持 KV 数据和时序数据的超轻量级数据库
  • cJSON Ultralightweight JSON parser in ANSI C
  • coremark MCU性能测试(跑分)

免费服务

更多项目

总体架构

总体架构

授权协议

MIT License