数码之家

 找回密码
 立即注册
搜索
查看: 6182|回复: 39

玩一个简单而有趣的单片机系统——合宙luatOS

[复制链接]
发表于 2021-11-30 14:33:57 | 显示全部楼层 |阅读模式
本帖最后由 ganbc 于 2021-11-30 14:51 编辑

发现一个简单而有趣的单片机系统——合宙luatOS,据说这是一个广受好评的新一代物联网开源操作系统。为了玩这个luatOS系统,我在合宙商城买了一块合宙A101开发板和一个1.8寸TFT LCD 128X160 (st7735s)彩屏。

看了合宙官方的《Air101快速入门手册.pdf》,觉得挺简单的。
于是开始折腾用A101开发板来驱动这块1.8寸的TFT彩屏。
没想到几乎花了一整天,都没能搞定Demo程序里的lcd示例。
只能求救于合宙官方Q群。
在LuatOS-Wendal老师和其他群友的帮助下,终于成功点亮这块彩屏。

总结几个要点:
1、连线:


2、固件
采用最新的core_V0005.zip刷其中较小的那个固件:LuatOS-SoC_V0005_AIR103_NOLVGL.soc

3、示例
core_V0005\demo\lcd\Air101\main.lua
作对以上几点,点亮屏幕显示图形都没问题。
为了让大家少走弯路,特别记录下。

【附】lua代码
--- 模块功能:lcddemo
-- @module lcd
-- @author Dozingfiretruck
-- @release 2021.01.25

-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "lcddemo"
VERSION = "1.0.0"

log.info("main", PROJECT, VERSION)

-- sys库是标配
_G.sys = require("sys")

--[[
SPI0
SPI0_SCK               (PB2)
SPI0_MISO              (PB3)
SPI0_MOSI              (PB5)
]]

--添加硬狗防止程序卡死
wdt.init(15000)--初始化watchdog设置为15s
sys.timerLoopStart(wdt.feed, 10000)--10s喂一次狗

local spi_lcd = spi.deviceSetup(0,20,0,0,8,2000000,spi.MSB,1,1)

-- log.info("lcd.init",
-- lcd.init("gc9a01",{port = "device",pin_dc = 17, pin_pwr = 16,pin_rst = 19,direction = 0,w = 240,h = 320,xoffset = 0,yoffset = 0},spi_lcd))
-- log.info("lcd.init",
-- lcd.init("st7789",{port = "device",pin_dc = 17, pin_pwr = 16,pin_rst = 19,direction = 0,w = 240,h = 240,xoffset = 0,yoffset = 0},spi_lcd))
-- log.info("lcd.init",
-- lcd.init("st7789",{port = "device",pin_dc = 17, pin_pwr = 16,pin_rst = 19,direction = 3,w = 240,h = 240,xoffset = 80,yoffset = 0},spi_lcd))
-- log.info("lcd.init",
-- lcd.init("st7789",{port = "device",pin_dc = 17, pin_pwr = 16,pin_rst = 19,direction = 3,w = 320,h = 240,xoffset = 0,yoffset = 0},spi_lcd))
-- log.info("lcd.init",
-- lcd.init("st7735",{port = "device",pin_dc = 17, pin_pwr = 7,pin_rst = 19,direction = 0,w = 128,h = 160,xoffset = 2,yoffset = 1},spi_lcd))
-- log.info("lcd.init",
-- lcd.init("st7735v",{port = "device",pin_dc = 17, pin_pwr = 16,pin_rst = 19,direction = 1,w = 160,h = 80,xoffset = 0,yoffset = 24},spi_lcd))
log.info("lcd.init",
lcd.init("st7735s",{port = "device",pin_dc = 17, pin_pwr = 7,pin_rst = 19,direction = 2,w = 160,h = 80,xoffset = 1,yoffset = 26},spi_lcd))

log.info("lcd.drawLine", lcd.drawLine(20,20,150,20,0x001F))
log.info("lcd.drawRectangle", lcd.drawRectangle(20,40,120,70,0xF800))
log.info("lcd.drawCircle", lcd.drawCircle(50,50,20,0x0CE0))

sys.taskInit(function()
    while 1 do
        sys.wait(500)
    end
end)

-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 1家元 +30 收起 理由
家睦 + 30

查看全部打赏

发表于 2021-11-30 16:04:06 | 显示全部楼层
看着挺好玩,签名挺好:lol:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-30 16:13:09 | 显示全部楼层
hydize 发表于 2021-11-30 16:04
看着挺好玩,签名挺好

板子挺小巧,性能也不差的。关键是集成了luatOS系统。
回复 支持 反对

使用道具 举报

发表于 2021-11-30 21:41:31 来自手机浏览器 | 显示全部楼层
这是几年前9块9包邮撸的?记得好像有个车感觉没啥用就没有撸…
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-1 08:51:22 | 显示全部楼层
触景情伤 发表于 2021-11-30 21:41
这是几年前9块9包邮撸的?记得好像有个车感觉没啥用就没有撸…

我是9.9元包邮撸的开发板,彩屏也是9.9元。
回复 支持 反对

使用道具 举报

发表于 2021-12-1 10:23:30 | 显示全部楼层
本帖最后由 duxingkei 于 2021-12-1 10:33 编辑
ganbc 发表于 2021-12-1 08:51
我是9.9元包邮撸的开发板,彩屏也是9.9元。

我刚上车,撸了板子和屏, 慢慢玩
回复 支持 反对

使用道具 举报

发表于 2021-12-1 11:20:46 | 显示全部楼层
我前几年做车载温控项目用的就是他家模块,挺好用的,开发成本低。这个101是在之前通讯模块基础上阉割出来的,主打Lua编程,比用C的单片机方便,并且示例程序非常全。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-1 12:54:00 | 显示全部楼层
duxingkei 发表于 2021-12-1 10:23
我刚上车,撸了板子和屏, 慢慢玩

一起玩,多交流。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-1 12:57:16 | 显示全部楼层
华亭慧剑 发表于 2021-12-1 11:20
我前几年做车载温控项目用的就是他家模块,挺好用的,开发成本低。这个101是在之前通讯模块基础上阉割出来 ...

合宙lustOS模块性价比高,近来比较火。支持国货吧。
回复 支持 反对

使用道具 举报

发表于 2021-12-2 09:47:24 | 显示全部楼层
最轻量化的单片机系统还是Keil自带的RTX51,2KB RAM的C51单片机都跑得好好的。
回复 支持 反对

使用道具 举报

发表于 2021-12-2 11:24:22 | 显示全部楼层
netbeetle 发表于 2021-12-2 09:47
最轻量化的单片机系统还是Keil自带的RTX51,2KB RAM的C51单片机都跑得好好的。

百度一下发现你说的RTX51貌似也是一个很有趣的东西,关键是不用另外学语言了,只是应用示例不多。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-2 12:44:16 | 显示全部楼层
netbeetle 发表于 2021-12-2 09:47
最轻量化的单片机系统还是Keil自带的RTX51,2KB RAM的C51单片机都跑得好好的。

RTX51没玩过。C51单片机内存太小了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-2 12:47:31 | 显示全部楼层
慕名而来 发表于 2021-12-2 11:24
百度一下发现你说的RTX51貌似也是一个很有趣的东西,关键是不用另外学语言了,只是应用示例不多。 ...

系统支持的硬件不多。关键是C51内存太小,做不了大点的项目。
回复 支持 反对

使用道具 举报

发表于 2021-12-2 22:46:32 | 显示全部楼层
ganbc 发表于 2021-12-2 12:47
系统支持的硬件不多。关键是C51内存太小,做不了大点的项目。

貌似这个RTX还支持STM32,只是我没有玩过。而且大项目,STM32 的FREERTOS不香吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-3 08:55:58 | 显示全部楼层
netbeetle 发表于 2021-12-2 22:46
貌似这个RTX还支持STM32,只是我没有玩过。而且大项目,STM32 的FREERTOS不香吗? ...

STM32是好,只是芯片涨价得太离谱了。
回复 支持 反对

使用道具 举报

发表于 2021-12-3 20:27:40 | 显示全部楼层
ganbc 发表于 2021-12-2 12:47
系统支持的硬件不多。关键是C51内存太小,做不了大点的项目。

很羡慕你找到了感兴趣的东西,前两年玩NODEMCU学习lua编程没能入门,此后就再没有玩过C以外的编程应用,另外太复杂的东西我真心没能力玩了。
回复 支持 反对

使用道具 举报

发表于 2021-12-4 13:08:51 | 显示全部楼层
要说香,还是stm32f401ccu6性价比香:lol:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-6 10:27:30 | 显示全部楼层
慕名而来 发表于 2021-12-3 20:27
很羡慕你找到了感兴趣的东西,前两年玩NODEMCU学习lua编程没能入门,此后就再没有玩过C以外的编程应用, ...

我也只是玩玩,目前只会点灯和屏幕显示图形、字符和汉字。慢慢玩呗。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-6 10:30:10 | 显示全部楼层
jpdd521 发表于 2021-12-4 13:08
要说香,还是stm32f401ccu6性价比香

虽然买有STM32开发板,得承认STM32我还没入门。
回复 支持 反对

使用道具 举报

发表于 2021-12-6 11:30:56 | 显示全部楼层
ganbc 发表于 2021-12-6 10:27
我也只是玩玩,目前只会点灯和屏幕显示图形、字符和汉字。慢慢玩呗。

其实lua简单的编程也是挺容易上手的,只是遇到问题能搜索到的资源很少,这对新手而言就很容易卡住,后来就放弃了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-26 13:11 , Processed in 0.124800 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表