简单优化后的ST7789配置文件

详情见文件。增加横竖屏切换,反显,各种注释,spi端口配置。


--- 模块功能:ST 7789驱动芯片LCD命令配置
-- @author openLuat
-- @module ui.color_std_spi_st7789
-- @license MIT
-- @copyright openLuat
-- @release 2018.08.14

--[[
注意:disp库目前支持I2C接口和SPI接口的屏,此文件的配置,硬件上使用的是标准的SPI引脚,不是LCD专用的SPI引脚
硬件连线图如下:
Air模块 LCD
GND--地
SPI_CS--片选
SPI_CLK--时钟
SPI_DO--数据
SPI_DI--数据/命令选择
VDDIO--电源
UART1_CTS--复位
注意:Air202早期的开发板,UART1的CTS和RTS的丝印反了
]]

module(...,package.seeall)

--[[
函数名:init
功能 :初始化LCD参数
参数 :无
返回值:无
]]
local function init()
local para =
{
width = 320, --分辨率宽度,128像素;用户根据屏的参数自行修改
height = 240, --分辨率高度,160像素;用户根据屏的参数自行修改
bpp = 16, --位深度,彩屏仅支持16位
bus = disp.BUS_SPI4LINE, --LCD专用SPI引脚接口,不可修改
pinrst = pio.P0_14, --reset,复位引脚
pinrs = pio.P0_18, --rs,命令/数据选择引脚
--bus = disp.BUS_SPI, --标准SPI接口
--pinrst = pio.P0_3, --reset,复位引脚
--pinrs = pio.P0_12, --rs,命令/数据选择引脚

xoffset = 0, --X轴偏移
yoffset = 0, --Y轴偏移
freq = 13000000, --spi时钟频率,支持110K到13M(即110000到13000000)之间的整数(包含110000和13000000)
--hwfillcolor = 0xFFFFFF, --填充色,黑色

--初始化命令
--前两个字节表示类型:0001表示延时,0000或者0002表示命令,0003表示数据
--延时类型:后两个字节表示延时时间(单位毫秒)
--命令类型:后两个字节命令的值
--数据类型:后两个字节数据的值
initcmd =
{

0x00020036, --//控制
0x00030060, --横竖屏C0/A0/00/60

--0x00020021,--//0x13显示不反转 ,21h 反显

0x0002003A,
0x00030005,

0x000200B2, --//前后肩
0x0003000C,
0x0003000C,
0x00030000,
0x00030033,
0x00030033,

0x000200B7, --//VGH VGL
0x00030035,

0x000200BB, --//VCOM
0x00030019,

0x000200C0, --//LCM
0x0003002C,

0x000200C2,
0x00030001,

0x000200C3, --//VRH( vcom+vcom offset+vdv)
0x00030012,

0x000200C4, --//vdv
0x00030020,

0x000200C6, --//帧率
0x0003000F,

0x000200D0, --//功率控制模式
0x000300A4,
0x000300A1,

0x000200E0, --//正GAMMA
0x000300D0,
0x00030004,
0x0003000D,
0x00030011,
0x00030013,
0x0003002B,
0x0003003F,
0x00030054,
0x0003004C,
0x00030018,
0x0003000D,
0x0003000B,
0x0003001F,
0x00030023,

0x000200E1, --//负GAMMA
0x000300D0,
0x00030004,
0x0003000C,
0x00030011,
0x00030013,
0x0003002C,
0x0003003F,
0x00030044,
0x00030051,
0x0003002F,
0x0003001F,
0x0003001F,
0x00030020,
0x00030023,

0x00020011, --// sleep out
0x00010078,

0x00020029 --//Display On
},
--休眠命令
sleepcmd = {
0x00020010,
},
--唤醒命令
wakecmd = {
0x00020011,
}
}
disp.init(para)
disp.clear()
disp.update()
end

--控制SPI引脚的电压域
pmd.ldoset(6,pmd.LDO_VMMC)
init()

--打开背光
--实际使用时,用户根据自己的lcd背光控制方式,添加背光控制代码
  • 发表于 2019-05-30 14:59
  • 阅读 ( 1709 )

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
不写代码的码农
丁小泉ZJ

7 篇文章

作家榜 »

  1. 技术销售Delectate 43 文章
  2. 陈夏 24 文章
  3. 国梁 24 文章
  4. miuser 21 文章
  5. 刘晨旭 20 文章
  6. 朱天华 19 文章
  7. 金艺 19 文章
  8. 杨奉武 18 文章