main.lua 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. PROJECT = "lcddemo"
  2. VERSION = "1.0.0"
  3. log.info("main", PROJECT, VERSION)
  4. taskName = "lcd"
  5. local airlcd = require "airlcd"
  6. show_picture = "/luadb/picture.jpg"
  7. local function lcd_setup()
  8. sys.wait(500)
  9. gpio.setup(141, 1, gpio.PULLUP) -- 如果是整机开发板则需要GPIO141打开给lcd电源供电,如果是核心板,可以自行选择供电管脚,或者直接选择vdd_ext管脚
  10. sys.wait(1000)
  11. airlcd.lcd_init("AirLCD_1000")
  12. end
  13. local function lcd_task()
  14. lcd_setup() -- 初始化LCD
  15. lcd.setupBuff(nil, true) -- 设置缓冲区大小,使用系统内存
  16. lcd.autoFlush(false) -- 自动刷新LCD
  17. while 1 do
  18. lcd.clear()
  19. log.info("合宙 Air8000 LCD演示")
  20. -- API 文档 https://wiki.luatos.com/api/lcd.html
  21. if io.exists(show_picture) ~= true then
  22. log.info("picture.jpg 不存在,请检查下载的文件")
  23. sys.wait(100)
  24. return
  25. end
  26. -- 注意, jpg需要是常规格式, 不能是渐进式JPG
  27. -- 如果无法解码, 可以用画图工具另存为,新文件就能解码了
  28. lcd.showImage(0, 0, show_picture)
  29. sys.wait(100)
  30. -- log.info("lcd.drawLine", lcd.drawLine(100, 240, 240, 240, 0x001F)) -- 画线
  31. -- log.info("lcd.drawRectangle", lcd.drawRectangle(100, 240, 240, 70, 0xF800)) -- 画框
  32. -- log.info("lcd.drawCircle", lcd.drawCircle(150, 240, 100, 0x0CE0)) -- 画圆
  33. -- lcd.setFont(lcd.font_opposansm32)
  34. -- lcd.drawStr(60,240,"hello hezhou") --显示字符
  35. lcd.flush()
  36. sys.wait(1000)
  37. end
  38. end
  39. sysplus.taskInitEx(lcd_task, taskName)
  40. -- 用户代码已结束---------------------------------------------
  41. -- 结尾总是这一句
  42. sys.run()
  43. -- sys.run()之后后面不要加任何语句!!!!!