| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- --- 模块功能:lcddemo
- -- @module lcd
- -- @author Tuo
- -- @release 2021.02.12
- -- LuaTools需要PROJECT和VERSION这两个信息
- PROJECT = "lcddemo"
- VERSION = "1.0.0"
- log.info("main", PROJECT, VERSION)
- -- 添加硬狗防止程序卡死
- if wdt then
- wdt.init(9000) -- 初始化watchdog设置为9s
- sys.timerLoopStart(wdt.feed, 3000) -- 3s喂一次狗
- end
- local lcd_use_buff = true -- 是否使用缓冲模式, 提升绘图效率,占用更大内存
- local port, pin_reset, bl = lcd.RGB, 36, 25
- -- Air8101开发板配套LCD屏幕 分辨率800*480
- lcd.init("h050iwv", {
- port = port,
- pin_dc = 0xff,
- pin_pwr = bl,
- pin_rst = pin_reset,
- direction = 0,
- w = 800,
- h = 480,
- xoffset = 0,
- yoffset = 0
- })
- -- Air8101开发板配套LCD屏幕 分辨率1024*600
- -- lcd.init("hx8282",
- -- {port = port,pin_pwr = bl, pin_rst = pin_reset,
- -- direction = 0,w = 1024,h = 600,xoffset = 0,yoffset = 0})
- -- Air8101开发板配套LCD屏幕 分辨率720*1280
- -- lcd.init("nv3052c",
- -- {port = port,pin_pwr = bl, pin_rst = pin_reset,
- -- direction = 0,w = 720,h = 1280,xoffset = 0,yoffset = 0})
- -- Air8101开发板配套LCD屏幕 分辨率480*854
- -- lcd.init("st7701sn",
- -- {port = port,pin_pwr = bl, pin_rst = pin_reset,
- -- direction = 0,w = 480,h = 854,xoffset = 0,yoffset = 0})
- -- 如果显示颜色相反,请解开下面一行的注释,关闭反色
- -- lcd.invoff()
- sys.taskInit(function()
- -- 开启缓冲区, 刷屏速度会加快, 但也消耗2倍屏幕分辨率的内存
- lcd.setupBuff(nil, true) -- 使用sys内存, 只需要选一种
- lcd.autoFlush(false)
- while 1 do
- lcd.clear()
- log.info("合宙工业引擎 Air8101")
- if lcd.showImage then
- -- 注意, jpg需要是常规格式, 不能是渐进式JPG
- -- 如果无法解码, 可以用画图工具另存为,新文件就能解码了
- lcd.showImage(0, 0, "/luadb/picture1.jpg") --lcd屏幕分辨率800*480
- -- lcd.showImage(0, 0, "/luadb/picture2.jpg") --lcd屏幕分辨率1024*600
- -- lcd.showImage(0, 0, "/luadb/picture3.jpg") --lcd屏幕分辨率720*1280
- -- lcd.showImage(0, 0, "/luadb/picture4.jpg") --lcd屏幕分辨率480*854
- sys.wait(100)
- end
- -- 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)) --从圆心开始绘制一个圆
- if lcd_use_buff then
- lcd.flush()
- end
- sys.wait(1000)
- end
- end)
- -- 用户代码已结束---------------------------------------------
- -- 结尾总是这一句
- sys.run()
- -- sys.run()之后后面不要加任何语句!!!!!
|