【Luat-air105】2.点屏-st7735

1 前言

本章测试下air105+st7735显示。

2 硬件

【Luat-air105】2.点屏-st7735_第1张图片

3 驱动

【Luat-air105】2.点屏-st7735_第2张图片
本次使用的是spi2,对应的spi id为2

4 代码


-- 1. display: st7735+air105  spi2
function init_air105_st7735 ()
    -- spi test ok
    -- spi id is 2, cs is PB03
    -- spi_lcd = spi.deviceSetup(2,7,0,0,8,20000000,spi.MSB,1,1)
    spi_lcd = spi.deviceSetup(2,pin.PB03,0,0,8,2*1000*1000,spi.MSB,1,1)

    log.info("SPI OK")

    -- st7735 + esp32
    -- log.info("lcd.init",
    -- lcd.init("st7735",{port = "device",pin_dc = 6, pin_pwr = 11,pin_rst = 10,direction = 0,w = 128,h = 160,xoffset = 0,yoffset = 0},spi_lcd))
    
    -- air105 + st7735
    log.info("lcd.init",
    lcd.init("st7735",{port = "device",pin_dc = pin.PC00 ,pin_rst = pin.PB05,pin_pwr = pin.PC01,direction = 0,w = 128,h = 160,xoffset = 0,yoffset = 0},spi_lcd))
    -- log.info("lcd.init",
    -- lcd.init("st7735",{port = "device",pin_dc = 32 ,pin_rst = 21,pin_pwr = 33,direction = 0,w = 128,h = 160,xoffset = 0,yoffset = 0},spi_lcd))

    log.info("LCD OK")
end

function display_line ()
    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))
    -- sys.wait(1500)
    log.info("display demo")
end

function display_str ()
    lcd.setFont(lcd.font_opposansm12)
    lcd.drawStr(40,10,"drawStr")
    lcd.setFont(lcd.font_opposansm16_chinese)
    lcd.drawStr(40,40,"drawStr测试")
end

main.lua

--- 模块功能:lcd- air105+st7735
-- @module lcd
-- @author youkai
-- @release 2022.02.20

-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "esp32_mpu6050"
VERSION = "1.0.0"

log.info("main", PROJECT, VERSION)

-- sys库是标配
_G.sys = require("sys")

require("t1_display")     --setup lcd

log.info("end require")
--添加硬狗防止程序卡死
-- wdt.init(15000)--初始化watchdog设置为15s
-- sys.timerLoopStart(wdt.feed, 10000)--10s喂一次狗

-- ----------------setup start----------------------
-- 初始化屏幕
init_air105_st7735 ()
display_line()
-- init_lvgl()
-- ----------------setup end------------------------

-- ================main start================
sys.taskInit(function()
    -- ps:有wait不能放在外面

    sys.wait(1500)

    while 1 do
        sys.wait(10)
    end
end)
-- ================main end==================

sys.run()

5 结果

【Luat-air105】2.点屏-st7735_第3张图片
显示成功。

你可能感兴趣的:(Luat,lua)