chenxuuu 3 лет назад
Родитель
Сommit
1ee5f44f60
1 измененных файлов с 48 добавлено и 0 удалено
  1. 48 0
      demo/lcd/esp32c3/main.lua

+ 48 - 0
demo/lcd/esp32c3/main.lua

@@ -0,0 +1,48 @@
+--- 模块功能:lcddemo
+-- @module lcd
+-- @author Dozingfiretruck
+-- @release 2021.01.25
+-- LuaTools需要PROJECT和VERSION这两个信息
+PROJECT = "lcddemo"
+VERSION = "1.0.0"
+
+log.info("main", PROJECT, VERSION)
+
+-- sys库是标配
+_G.sys = require("sys")
+
+-- 添加硬狗防止程序卡死
+-- wdt.init(15000)--初始化watchdog设置为15s
+-- sys.timerLoopStart(wdt.feed, 10000)--10s喂一次狗
+
+spi_lcd = spi.deviceSetup(2, 7, 0, 0, 8, 40000000, spi.MSB, 1, 1)
+
+--[[ 此为合宙售卖的2.4寸TFT LCD 分辨率:240X320 屏幕ic:GC9306 购买地址:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-24045920841.39.6c2275a1Pa8F9o&id=655959696358]]
+-- lcd.init("gc9a01",{port = "device",pin_dc = 6, pin_pwr = 11,pin_rst = 10,direction = 0,w = 240,h = 320,xoffset = 0,yoffset = 0},spi_lcd)
+
+--[[ 此为合宙售卖的1.8寸TFT LCD LCD 分辨率:128X160 屏幕ic:st7735 购买地址:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-24045920841.19.6c2275a1Pa8F9o&id=560176729178]]
+-- lcd.init("st7735",{port = "device",pin_dc = 6, pin_pwr = 11,pin_rst = 10,direction = 0,w = 128,h = 160,xoffset = 2,yoffset = 1},spi_lcd)
+
+--[[ 此为合宙售卖的1.54寸TFT LCD LCD 分辨率:240X240 屏幕ic:st7789 购买地址:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-24045920841.20.391445d5Ql4uJl&id=659456700222]]
+-- lcd.init("st7789",{port = "device",pin_dc = 6, pin_pwr = 11,pin_rst = 10,direction = 0,w = 240,h = 240,xoffset = 0,yoffset = 0},spi_lcd)
+
+--[[ 此为合宙售卖的0.96寸TFT LCD LCD 分辨率:160X80 屏幕ic:st7735s 购买地址:https://item.taobao.com/item.htm?id=661054472686]]
+lcd.init("st7735v",{port = "device",pin_dc = 6, pin_pwr = 11,pin_rst = 10,direction = 1,w = 160,h = 80,xoffset = 0,yoffset = 24},spi_lcd)
+--如果显示颜色相反,关闭反色
+lcd.invoff()
+--如果显示依旧不正常,可以尝试老版本的板子的驱动
+--lcd.init("st7735s",{port = "device",pin_dc = 6, pin_pwr = 11,pin_rst = 10,direction = 2,w = 160,h = 80, xoffset = 1,yoffset = 26},spi_lcd)
+
+
+sys.taskInit(function() 
+    sys.wait(500)
+
+    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))
+end)
+
+-- 用户代码已结束---------------------------------------------
+-- 结尾总是这一句
+sys.run()
+-- sys.run()之后后面不要加任何语句!!!!!