main.lua 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. --添加硬狗防止程序卡死
  12. wdt.init(9000)--初始化watchdog设置为9s
  13. sys.timerLoopStart(wdt.feed, 3000)--3s喂一次狗
  14. local rtos_bsp = rtos.bsp()
  15. -- 根据不同的BSP返回不同的值
  16. -- spi_id,pin_reset,pin_dc,pin_cs,bl
  17. function lcd_pin()
  18. if rtos_bsp == "AIR101" then
  19. return 0,pin.PB03,pin.PB01,pin.PB04,pin.PB00
  20. elseif rtos_bsp == "AIR103" then
  21. return 0,pin.PB03,pin.PB01,pin.PB04,pin.PB00
  22. elseif rtos_bsp == "AIR105" then
  23. return 5,pin.PC12,pin.PE08,pin.PC14,pin.PE09
  24. elseif rtos_bsp == "ESP32C3" then
  25. return 2,10,6,7,11
  26. elseif rtos_bsp == "ESP32S3" then
  27. return 2,16,15,14,13
  28. elseif rtos_bsp == "EC618" then
  29. return 0,1,10,8,22
  30. elseif string.find(rtos_bsp,"EC718") then
  31. return lcd.HWID_0,36,0xff,0xff,0xff -- 注意:EC718P有硬件lcd驱动接口, 无需使用spi,当然spi驱动也支持
  32. else
  33. log.info("main", "bsp not support")
  34. return
  35. end
  36. end
  37. local spi_id,pin_reset,pin_dc,pin_cs,bl = lcd_pin()
  38. spi_gtfont = spi.deviceSetup(1,7,0,0,8,20*1000*1000,spi.MSB,1,0) --此处根据自己实际接线修改
  39. if spi_id ~= lcd.HWID_0 then
  40. spi_lcd = spi.deviceSetup(spi_id,pin_cs,0,0,8,20*1000*1000,spi.MSB,1,0)
  41. port = "device"
  42. else
  43. port = spi_id
  44. end
  45. lcd.init("st7789",{port = port,pin_dc = pin_dc, pin_pwr = bl, pin_rst = pin_reset,direction = 0,w = 240,h = 320,xoffset = 0,yoffset = 0},spi_lcd)
  46. gtfont.init(spi_gtfont)
  47. lcd.drawGtfontUtf8("啊啊啊",32,0,0)
  48. lcd.drawGtfontUtf8Gray("啊啊啊",32,4,0,40)
  49. -- 用户代码已结束---------------------------------------------
  50. -- 结尾总是这一句
  51. sys.run()
  52. -- sys.run()之后后面不要加任何语句!!!!!