代码拉取完成,页面将自动刷新
--- 模块功能:SSD 1306驱动芯片LCD命令配置
-- @author openLuat
-- @module ui.mono_std_spi_ssd1306
-- @license MIT
-- @copyright openLuat
-- @release 2018.03.27
--[[
注意:disp库目前支持I2C接口和SPI接口的屏,此文件的配置,硬件上使用的是LCD专用的SPI引脚,不是标准的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 = 128, --分辨率宽度,128像素;用户根据屏的参数自行修改
height = 64, --分辨率高度,64像素;用户根据屏的参数自行修改
bpp = 1, --位深度,1表示单色。单色屏就设置为1,不可修改
bus = disp.BUS_SPI4LINE, --led位标准SPI接口,不可修改
yoffset = 32, --Y轴偏移
hwfillcolor = 0x0, --填充色,黑色
pinrst = pio.P0_6, --reset,复位引脚
pinrs = pio.P0_1, --rs,命令/数据选择引脚
--初始化命令
initcmd =
{
0xAE, --display off
0x20, --Set Memory Addressing Mode
0x10, --00,Horizontal Addressing Mode;01,Vertical Addressing Mode;10,Page Addressing Mode (RESET);11,Invalid
0xb0, --Set Page Start Address for Page Addressing Mode,0-7
0xc8, --Set COM Output Scan Direction
0x00, --set low column address
0x10, --set high column address
0x60, --set start line address
0x81, --set contrast control register
0xdf, --
0xa1, --set segment re-map 0 to 127
0xa6, --set normal display
0xa8, --set multiplex ratio(1 to 64)
0x3f, --
0xa4, --0xa4,Output follows RAM content;0xa5,Output ignores RAM content
0xd3, --set display offset
0x20, --not offset
0xd5, --set display clock divide ratio/oscillator frequency
0xf0, --set divide ratio
0xd9, --set pre-charge period
0x22, --
0xda, --set com pins hardware configuration
0x12, --
0xdb, --set vcomh
0x20, --0x20,0.77xVcc
0x8d, --set DC-DC enable
0x14, --
0xaf, --turn on oled panel
},
--休眠命令
sleepcmd = {
0xAE,
},
--唤醒命令
wakecmd = {
0xAF,
}
}
disp.init(para)
disp.clear()
disp.update()
end
--控制SPI引脚的电压域
pmd.ldoset(15,pmd.LDO_VLCD)
init()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。