disp(ui)¶
作者:吴永 更新时间:2020年8月18日 关键字: UI、LCD、图片、显示、文字
UI显示框架
@[TOC]
disp.init()¶
初始化LCD驱动配置
语法
disp.init(para)
参数
参数
释义
取值
para.width
LCD宽度
数值,最大支持QVGA分辨率,不超过320/240
para.height
LCD高度
数值,最大支持QVGA分辨率,不超过320/240
para.bus
LCD总线类型
disp.BUS_SPI4LINE
para.xoffset
LCD偏移量
数值类型
para.yoffset
LCD偏移量
数值类型
para.freq
LCD总线频率
最小800K,最大200M
para.pinrst
暂不支持
0
para.pinrs
暂不支持
0
para.initcmd
LCD初始化命令表
table类型
para.sleepcmd
LCD进入休眠命令表
table类型
para.wakecmd
LCD退出休眠命令表
table类型
返回值
无
例子
local function init()
local para =
{
width = 128, --分辨率宽度,128像素;用户根据屏的参数自行修改
height = 160, --分辨率高度,160像素;用户根据屏的参数自行修改
bpp = 16, --位深度,彩屏仅支持16位
bus = disp.BUS_SPI4LINE, --LCD专用SPI引脚接口,不可修改
xoffset = 2, --X轴偏移
yoffset = 1, --Y轴偏移
freq = 20000000, --spi时钟频率,最小800K,最大200M
pinrst = pio.P0_6, --reset,复位引脚
pinrs = pio.P0_1, --rs,命令/数据选择引脚
--camera_preview_no_update_screen = 1, --0表示摄像头预览刷屏;1表示摄像头预览不刷屏
--初始化命令
--前两个字节表示类型:0001表示延时,0000或者0002表示命令,0003表示数据
--延时类型:后两个字节表示延时时间(单位毫秒)
--命令类型:后两个字节命令的值
--数据类型:后两个字节数据的值
initcmd =
{
0x00020011,
0x00010078,
0x000200B1,
0x00030002,
0x00030035,
0x00030036,
0x000200B2,
0x00030002,
0x00030035,
0x00030036,
0x000200B3,
0x00030002,
0x00030035,
0x00030036,
0x00030002,
0x00030035,
0x00030036,
0x000200B4,
0x00030007,
0x000200C0,
0x000300A2,
0x00030002,
0x00030084,
0x000200C1,
0x000300C5,
0x000200C2,
0x0003000A,
0x00030000,
0x000200C3,
0x0003008A,
0x0003002A,
0x000200C4,
0x0003008A,
0x000300EE,
0x000200C5,
0x0003000E,
0x00020036,
-- set rotation
-- 0x000300C0,
0x00030000,
0x000200E0,
0x00030012,
0x0003001C,
0x00030010,
0x00030018,
0x00030033,
0x0003002C,
0x00030025,
0x00030028,
0x00030028,
0x00030027,
0x0003002F,
0x0003003C,
0x00030000,
0x00030003,
0x00030003,
0x00030010,
0x000200E1,
0x00030012,
0x0003001C,
0x00030010,
0x00030018,
0x0003002D,
0x00030028,
0x00030023,
0x00030028,
0x00030028,
0x00030026,
0x0003002F,
0x0003003B,
0x00030000,
0x00030003,
0x00030003,
0x00030010,
0x0002003A,
0x00030005,
0x00020029,
},
--休眠命令
sleepcmd = {
0x00020010,
},
--唤醒命令
wakecmd = {
0x00020011,
}
}
disp.init(para)
disp.clear()
disp.update()
end
disp.putimage()¶
显示文字
语法
disp.putimage(img,x,y)
参数
参数
释义
取值
img
图片文件
string类型,支持bmp,jpeg,png格式
x
显示位置,横向坐标
0-disp.width
y
显示位置,纵向坐标
0-disp.height
返回值
无
举例
--显示图片
disp.putimage("/lua/logo_color_240X320.png",0,80)
--将显示的内容刷到LCD
disp.update()
### disp. drawr ect() 显 示矩 形框 |
语法 |
` disp .draw rect( left, top,r ight, botto m,col or)` |
参数 |
| 参数 | 释义 |取 值| | ——– | ————– | ————– | |le ft|起 始位 置-左 |0-di sp.wi dth\| \|top |起始 位置 -上| 0-dis p.hei ght| |rig ht|结 束位 置-右 |0-di sp.wi dth\| \|b ottom |结束 位置 -下| 0-dis p.hei ght| |col or|颜 色|0 -6553 5(具 体根 据LC D色域 来定 )| |
返 回值 |
无 - 举例 |
.draw rect( 0,43, 128,4 4,lcd .rgb( 222,2 22,22 2))`` |
### disp. setco lor() 设 置前 景色 |
语法 |
|
参数 |
| 参数 | 释义 |取 值| | ——– | ————– | ————– | |col or|颜 色|0 -6553 5(具 体根 据LC D色域 来定 )| |
返 回值 |
历 史前 景色 |
disp.setbkcolor()¶
设置背景色
语法
disp.setbkcolor(color)
参数
参数
释义
取值
color
颜色
0-65535(具体根据LCD色域来定)
返回值
历史背景色
### d isp.p utqrc ode() 显 示二 维码 |
语法 |
`` disp. putqr code( data, width ,disp layWi dth,x ,y)`` |
参数 |
| 参数 | 释义 |取 值| | ——– | ————– | ————– | |da ta|二 维码 数据 |从qr encod e.enc ode返 回的 二维 码数 据\| \|wid th|二 维码 数据 的实 际宽 度|| |di splay Width |二维 码实 际显 示宽 度|| |x|二 维码 显示 起始 坐标x |0-di sp.wi dth| |y|二 维码 显示 起始 坐标y |0-di sp.he ith| |
返 回值 |
无 |
disp.loadfont()¶
加载字体文件
语法
font_id = disp.loadfont(font)
参数
参数
释义
取值
font
字体文件
返回值
字体对应id
举例
font_id = disp.loadfont("/lua/18x36_0-colon.bin")
disp.sleep()¶
控制LCD是否进入休眠
语法
disp.sleep(enable)
参数
参数
释义
取值
enable
LCD休眠
0:退出休眠 1:进入休眠
返回值
无
disp.write()
向LCD控制器写入命令
语法
disp.write(cmd)
参数
参数
释义
取值
cmd
命令
参考disp.init(para.initcmd)
返回值
无
### di sp.cl ose() 关闭 显示 模块 |
语法 |
` disp .clos e()` |
参数 |
无 |
返 回值 |
无 |