main.lua 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. --- 模块功能:lcddemo
  2. -- @module lcd
  3. -- @author Dozingfiretruck
  4. -- @release 2021.01.25
  5. -- LuaTools需要PROJECT和VERSION这两个信息
  6. PROJECT = "lcddemo"
  7. VERSION = "1.0.0"
  8. log.info("main", PROJECT, VERSION)
  9. -- sys库是标配
  10. _G.sys = require("sys")
  11. pm.ioVol(pm.IOVOL_ALL_GPIO, 3300) -- 设置GPIO电平 3.3V
  12. -- 添加硬狗防止程序卡死
  13. if wdt then
  14. wdt.init(9000) -- 初始化watchdog设置为9s
  15. sys.timerLoopStart(wdt.feed, 3000) -- 3s喂一次狗
  16. end
  17. lcd.init("jd9261t_inited",{port = lcd.HWID_0,pin_dc = 0xff, pin_pwr = 24, pin_rst = 36,direction = 0,w = 480,h = 480,xoffset = 0,yoffset = 0,interface_mode=lcd.QSPI_MODE,bus_speed=60000000,flush_rate=658,vbp=19,vfp=108,vs=2})
  18. sys.taskInit(function()
  19. lcd.setupBuff(nil, true) -- 使用sys内存, 只需要选一种
  20. lcd.autoFlush(false)
  21. log.info("lvgl", lvgl.init())
  22. local scr = lvgl.obj_create(nil, nil)
  23. local btn = lvgl.btn_create(scr)
  24. lvgl.obj_align(btn, lvgl.scr_act(), lvgl.ALIGN_CENTER, 0, 0)
  25. local label = lvgl.label_create(btn)
  26. local flag = true
  27. lvgl.label_set_text(label, "LuatOS!")
  28. lvgl.scr_load(scr)
  29. lvgl.indev_drv_register("pointer", "emulator")
  30. local function btn_cb(obj, event)
  31. if event == lvgl.EVENT_SHORT_CLICKED then
  32. log.info("short click") if flag then
  33. lvgl.label_set_text(label, "LuatOS!")
  34. flag = false
  35. else
  36. lvgl.label_set_text(label, "hello world!")
  37. flag = true
  38. end
  39. end
  40. end
  41. lvgl.obj_set_event_cb(btn, btn_cb)
  42. end)
  43. -- 用户代码已结束---------------------------------------------
  44. -- 结尾总是这一句
  45. sys.run()
  46. -- sys.run()之后后面不要加任何语句!!!!!