LuatOS | 全新在线模拟器,随时随地发挥创意
阅读原文时间:2023年07月11日阅读:2

LuatOS ——运行在嵌入式硬件的实时操作系统,开启全新物联网生态。

聚焦嵌入式应用生态,内置功能可支持绝大多数物联网应用场景。深度整合Lua语言,只需少量内存和Flash空间就能运行。不局限于合宙产品,不局限于通信模块,更注重各软硬件平台的可移植性。

LuatOS全新在线模拟器,可快速体验开发流程、熟悉开发接口,无需硬件设备、无需软件设置,随时随地发挥创意,在线实验即刻实现!

复制链接至浏览器,即可使用:

https://wiki.luatos.com/pages/emulator.html

在线模拟示例:点灯


通过在线运行以下代码,即可实现上图点灯效果。可以根据自己想要的各种点灯效果,修改代码尝试。

\--加载sys库

sys = require("sys")

\-- 设置gpio1为输出模式,初始状态为低电平,返回的led1为控制gpio的函数

led1 = gpio.setup(1,0,gpio.PULLUP)

\-- 设置gpio1为高电平,点亮led1

led1(1)

\-- 设置gpio2为输出模式,初始状态为低电平,返回的led1为控制gpio的函数

led2 = gpio.setup(2,0,gpio.PULLUP)

\-- 记录上次的led状态

local last = false

\-- 一秒改变一次led2的状态

sys.timerLoopStart(function()

 led2(last and 0 or 1)\-- 根据上次状态决定是否亮灯

 log.info("led2",last)

 last = not last\--更改状态标志

end,1000)

\-- 用户代码已结束--

\-- 运行lua task,只能调用一次,而且必须写在末尾

\-- 结尾总是这一句

sys.run()

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

在线模拟示例:PWM控制转速


通过在线运行以下代码,即可实现上图PWM转速控制效果。可根据所需,调整相关参数以实现不同转速。

\--加载sys库

sys = require("sys")

\-- 打开PWM0, 频率1kHz, 占空比1%

pwm.open(0, 1000, 1)

\--开个任务,让pwm转速慢慢增大后,循环

sys.taskInit(function()

 local speed = 0

 while true do

 speed = speed + 10

 if speed > 100 then speed = 0 end

 log.info("pwm","speed now",speed,"%")

 pwm.open(0, 1000, speed)

 sys.wait(5000)

 end

end)

\--不用的时候应该关掉

\--pwm.close(0)

\-- 用户代码已结束--

\-- 运行lua task,只能调用一次,而且必须写在末尾

\-- 结尾总是这一句

sys.run()

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

更多示例,请通过LuatOS在线模拟器体验:

https://wiki.luatos.com/pages/emulator.html

我们也为普通的Lua开发,提供了在线的交互调试工具:

https://wiki.luatos.com/_static/repl/index.html

随时随地,发挥你的灵感创意吧~

上海合宙通信模块 - 合宙Luat,让万物互联更简单