main.lua 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. --- 模块功能:lcddemo
  2. -- @module lcd
  3. -- @author Tuo
  4. -- @release 2021.02.12
  5. -- LuaTools需要PROJECT和VERSION这两个信息
  6. PROJECT = "lcddemo"
  7. VERSION = "1.0.0"
  8. log.info("main", PROJECT, VERSION)
  9. -- 添加硬狗防止程序卡死
  10. if wdt then
  11. wdt.init(9000) -- 初始化watchdog设置为9s
  12. sys.timerLoopStart(wdt.feed, 3000) -- 3s喂一次狗
  13. end
  14. local lcd_use_buff = true -- 是否使用缓冲模式, 提升绘图效率,占用更大内存
  15. local port, pin_reset, bl = lcd.RGB, 36, 25
  16. -- Air8101开发板配套LCD屏幕 分辨率800*480
  17. lcd.init("h050iwv", {
  18. port = port,
  19. pin_dc = 0xff,
  20. pin_pwr = bl,
  21. pin_rst = pin_reset,
  22. direction = 0,
  23. w = 800,
  24. h = 480,
  25. xoffset = 0,
  26. yoffset = 0
  27. })
  28. -- Air8101开发板配套LCD屏幕 分辨率1024*600
  29. -- lcd.init("hx8282",
  30. -- {port = port,pin_pwr = bl, pin_rst = pin_reset,
  31. -- direction = 0,w = 1024,h = 600,xoffset = 0,yoffset = 0})
  32. -- Air8101开发板配套LCD屏幕 分辨率720*1280
  33. -- lcd.init("nv3052c",
  34. -- {port = port,pin_pwr = bl, pin_rst = pin_reset,
  35. -- direction = 0,w = 720,h = 1280,xoffset = 0,yoffset = 0})
  36. -- Air8101开发板配套LCD屏幕 分辨率480*854
  37. -- lcd.init("st7701sn",
  38. -- {port = port,pin_pwr = bl, pin_rst = pin_reset,
  39. -- direction = 0,w = 480,h = 854,xoffset = 0,yoffset = 0})
  40. -- 如果显示颜色相反,请解开下面一行的注释,关闭反色
  41. -- lcd.invoff()
  42. sys.taskInit(function()
  43. -- 开启缓冲区, 刷屏速度会加快, 但也消耗2倍屏幕分辨率的内存
  44. lcd.setupBuff(nil, true) -- 使用sys内存, 只需要选一种
  45. lcd.autoFlush(false)
  46. while 1 do
  47. lcd.clear()
  48. log.info("合宙工业引擎 Air8101")
  49. if lcd.showImage then
  50. -- 注意, jpg需要是常规格式, 不能是渐进式JPG
  51. -- 如果无法解码, 可以用画图工具另存为,新文件就能解码了
  52. lcd.showImage(0, 0, "/luadb/picture1.jpg") --lcd屏幕分辨率800*480
  53. -- lcd.showImage(0, 0, "/luadb/picture2.jpg") --lcd屏幕分辨率1024*600
  54. -- lcd.showImage(0, 0, "/luadb/picture3.jpg") --lcd屏幕分辨率720*1280
  55. -- lcd.showImage(0, 0, "/luadb/picture4.jpg") --lcd屏幕分辨率480*854
  56. sys.wait(100)
  57. end
  58. -- log.info("lcd.drawLine", lcd.drawLine(20, 20, 150, 20, 0x001F)) --在屏幕两点之间画一条线
  59. -- log.info("lcd.drawRectangle", lcd.drawRectangle(20, 40, 120, 70, 0xF800)) --从屏幕左上边缘开始绘制一个框
  60. -- log.info("lcd.drawCircle", lcd.drawCircle(50, 50, 20, 0x0CE0)) --从圆心开始绘制一个圆
  61. if lcd_use_buff then
  62. lcd.flush()
  63. end
  64. sys.wait(1000)
  65. end
  66. end)
  67. -- 用户代码已结束---------------------------------------------
  68. -- 结尾总是这一句
  69. sys.run()
  70. -- sys.run()之后后面不要加任何语句!!!!!