--- 模块功能:ST7701S驱动芯片LCD命令配置 -- @author openLuat -- @module ui.mipi_lcd_ST7701S -- @license MIT -- @copyright openLuat -- @release 2022.01.07 --[[ 注意:MIPI接口 module(...,package.seeall) ]] --[[ 函数名:init 功能 :初始化LCD参数 参数 :无 返回值:无 ]] local function init() local para = { width = 480, -- 分辨率宽度, height = 854, -- 分辨率高度 bpp = 16, -- MIPI LCD直接写16,暂不支持其他配置 bus = disp.BUS_MIPI, -- LCD专用SPI引脚接口,不可修改 xoffset = 0, -- X轴偏移 yoffset = 0, -- Y轴偏移 freq = 125000000, -- mipi时钟最高为500000000 pinrst = pio.P0_20, -- reset,复位引脚,MIPI屏幕必须填写 pinrs = 0x000300ffff, -- mipi不需要rs脚,直接写0x000300ffff -- continue_mode = 1, -- 初始化命令 -- 前两个字节表示类型:0001表示延时,0000或者0002表示命令,0003表示数据 -- 延时类型:后两个字节表示延时时间(单位毫秒) -- 命令类型:后两个字节命令的值 -- 数据类型:后两个字节数据的值 -- 现在MIPI LCD 只支持,lane 2线,RGB565格式 initcmd = { 0x000200FF, 0x00030077, 0x00030001, 0x00030000, 0x00030000, 0x00030013, 0x000200EF, 0x00030008, 0x000200FF, 0x00030077, 0x00030001, 0x00030000, 0x00030000, 0x00030010, 0x000200C0, 0x000300E9, 0x00030003, 0x000200C1, 0x0003000C, 0x00030002, 0x000200C2, 0x00030010, 0x00030006, 0x000200CC, 0x00030038, 0x000200B0, 0x00030040, 0x0003000B, 0x00030058, 0x0003000C, 0x00030011, 0x00030006, 0x0003000B, 0x00030008, 0x00030009, 0x00030026, 0x00030006, 0x00030015, 0x00030018, 0x0003006A, 0x0003006E, 0x0003004F, 0x000200B1, 0x00030040, 0x00030011, 0x00030057, 0x0003000D, 0x00030011, 0x00030007, 0x0003000B, 0x00030009, 0x00030008, 0x00030026, 0x00030005, 0x000300D3, 0x0003000D, 0x0003006B, 0x0003006E, 0x0003004F, 0x000200FF, 0x00030077, 0x00030001, 0x00030000, 0x00030000, 0x00030011, 0x000200B0, 0x00030056, 0x000200B1, 0x0003003A, 0x000200B2, 0x00030087, 0x000200B3, 0x00030080, 0x000200B5, 0x0003004D, 0x000200B7, 0x00030085, 0x000200B8, 0x00030010, 0x000200B9, 0x00030010, 0x000200BC, 0x00030003, 0x000200C0, 0x00030089, 0x000200C1, 0x00030078, 0x000200C2, 0x00030078, 0x000200D0, 0x00030088, 0x000200E0, 0x00030000, 0x00030000, 0x00030002, 0x000200E1, 0x00030004, 0x00030000, 0x00030000, 0x00030000, 0x00030005, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030020, 0x00030020, 0x000200E2, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x000200E3, 0x00030000, 0x00030000, 0x00030033, 0x00030000, 0x000200E4, 0x00030022, 0x00030000, 0x000200E5, 0x00030004, 0x0003005C, 0x000300A0, 0x000300A0, 0x00030006, 0x0003005C, 0x000300A0, 0x000300A0, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x000200E6, 0x00030000, 0x00030000, 0x00030033, 0x00030000, 0x000200E7, 0x00030022, 0x00030000, 0x000200E8, 0x00030005, 0x0003005C, 0x000300A0, 0x000300A0, 0x00030007, 0x0003005C, 0x000300A0, 0x000300A0, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x000200EB, 0x00030002, 0x00030000, 0x00030040, 0x00030040, 0x00030000, 0x00030000, 0x00030000, 0x000200EC, 0x00030000, 0x00030000, 0x000200ED, 0x000300FA, 0x00030045, 0x0003000B, 0x000300FF, 0x000300FF, 0x000300FF, 0x000300FF, 0x000300FF, 0x000300FF, 0x000300FF, 0x000300FF, 0x000300FF, 0x000300FF, 0x000300B0, 0x00030054, 0x000300AF, 0x000200EF, 0x00030008, 0x00030008, 0x00030008, 0x00030045, 0x0003003F, 0x00030054, 0x000200FF, 0x00030077, 0x00030001, 0x00030000, 0x00030000, 0x00030000, 0x00020011, 0x00020029 }, -- 休眠命令 sleepcmd = {0x00020028, 0x00020010}, -- 唤醒命令 wakecmd = {0x00020011, 0x00020029} } disp.init(para) disp.clear() disp.update() end -- VLCD电压域配置 pmd.ldoset(15, pmd.LDO_VLCD) -- 背光配置 function backlightopen(on) if on then pins.setup(pio.P0_21, 1) log.info("mipi_lcd_GC9503V 你打开了背光") else pins.setup(pio.P0_21, 0) log.info("mipi_lcd_GC9503V 你关闭了背光") end end backlightopen(true) -- 初始化 init()