class LCD - LCD显示屏
该类提供对LCD显示屏的控制。
支持的平台和模块型号:
EC200U系列、EC600U系列、EC600N系列、EC800N系列
EC600M-CNLA、EC600M-CNLE
EC800M-CNLA、EC800M-CNLE、EC800M-CNGA、EC800G-CNGA、EG810M-CNGA
EG912N-ENAA、EG912U-GLAA
EG915N-EUAG、EG915U-EUAB
构造函数 #
machine.LCD
#
示例:
方法 #
lcd.lcd_init
#
该方法用于初始化LCD。
接口1:设备接模块LCM接口 #
参数描述:
参数 | 类型 | 说明 |
---|---|---|
lcd_init_data | bytearray | LCD 初始化的配置命令 |
lcd_width | int | LCD 屏幕的宽度,宽度不超过 500像素 |
lcd_hight | int | LCD 屏幕的高度,高度不超过 500像素 |
lcd_clk | int |
LCD SPI 时钟频率:
6500: 6.5MHz 13000:13MHz 26000:26MHz 52000:52MHz |
data_line | int | 数据线数,参数值为 1 和 2 |
line_num | int | 线的数量,参数值为 3 和 4 |
lcd_type | int | 屏幕类型,0 - rgb;1 - fstn |
lcd_invalid | bytearray | LCD 区域设置的配置命令 |
lcd_display_on | bytearray | LCD 屏亮的配置命令 |
lcd_display_off | bytearray | LCD 屏灭的配置命令 |
lcd_set_brightness | bytearray |
LCD屏亮度的配置命令:
设置为 None表示由 LCD_BL_K 控制亮度 |
返回值描述:
0
表示成功。
-1
表示已经初始化。
-2
表示参数错误,为空或过大(大于 1000 像素点)。
-3
表示缓存申请失败。
-5
表示配置参数错误。
接口2:设备接模块SPI接口 #
参数描述:
参数 | 类型 | 说明 |
---|---|---|
lcd_init_data | bytearray | LCD 初始化的配置命令 |
lcd_width | int | LCD 屏幕的宽度,宽度不超过 500像素 |
lcd_hight | int | LCD 屏幕的高度,高度不超过 500像素 |
lcd_clk | int | SPI 时钟,见machine.SPI 创建SPI对象参数说明clk |
data_line | int | 数据线数,参数值为 1 和 2 |
line_num | int | 线的数量,参数值为 3 和 4 |
lcd_type | int | 屏幕类型,0 - rgb;1 - fstn |
lcd_invalid | bytearray | LCD 区域设置的配置命令 |
lcd_display_on | bytearray | LCD 屏亮的配置命令 |
lcd_display_off | bytearray | LCD 屏灭的配置命令 |
lcd_set_brightness | bytearray |
LCD屏亮度的配置命令:
设置为 None表示由 LCD_BL_K 控制亮度 |
lcd_interface | int | LCD接口类型,0 - LCM接口;1 - SPI接口 |
spi_port | int | 通道选择[0,1],参照SPI部分 |
spi_mode | int |
SPI 的工作模式(通常使用工作模式0):
时钟极性CPOL:即SPI空闲时,时钟信号SCLK的电平(0:空闲时低电平; 1:空闲时高电平) 0 : CPOL=0, CPHA=0 1 : CPOL=0, CPHA=1 2 : CPOL=1, CPHA=0 3 : CPOL=1, CPHA=1 |
cs_pin | int | CS引脚,见 machine.Pin 中GPIO引脚编号说明 |
dc_pin | int | DC引脚,见 machine.Pin 中GPIO引脚编号说明 |
rst_pin | int | RST引脚,见 machine.Pin 中GPIO引脚编号说明 |
返回值描述:
0
表示成功。
-1
表示屏幕已经初始化。
-2
表示参数错误,为空或过大(大于 1000 像素点)。
-3
表示缓存申请失败。
-5
表示配置参数错误。
lcd.mipi_init
#
该方法用于初始化MIPI,按键值对传参,请根据屏厂提供的初始化参数填写。
1.仅支持EC200U系列和EC600U系列。
2.参数列表中,initbuf为必传参数;后面参数与缺省值不同时传入。
参数描述:
参数 | 类型 | 说明 |
---|---|---|
initbuf | bytearray | 必传,传入 MIPI 的配置命令 |
width | int | 缺省值:480,屏幕的宽度,单位像素,示例:width=400 |
hight | int | 缺省值:854,屏幕的高度,单位像素,示例:hight=800 |
bpp | int | 缺省值:16,像素深度 |
DataLane | int | 缺省值:2,数据通道 |
MipiMode | int |
缺省值:0
模式: 0:DSI_VIDEO_MODE 1:DSI_CMD_MODE |
PixelFormat | int |
缺省值:0
像素格式: 0:RGB_PIX_FMT_RGB565 16:RGB_PIX_FMT_RGB888 32:RGB_PIX_FMT_XRGB888 48:RGB_PIX_FMT_RGBX888 |
DsiFormat | int |
缺省值:0
DSI格式: 0:DSI_FMT_RGB565 1:DSI_FMT_RGB666 2:DSI_FMT_RGB666L 3:DSI_FMT_RGB888 |
TransMode | int |
缺省值:3
转换模式: 0:DSI_CMD 1:DSI_PULSE 2:DSI_EVENT 3:DSI_BURST |
RgbOrder | int |
缺省值:8
RGB顺序: 0:RGB 8:BGR |
BllpEnable | bool | 缺省值:true,blank low power 模式使能 |
HSync | int | 缺省值:10,水平同步 |
HBP | int | 缺省值:10,水平后肩 |
HFP | int | 缺省值:10,水平前肩 |
VSync | int | 缺省值:4,垂直同步 |
VBP | int | 缺省值:10,垂直后肩 |
VFP | int | 缺省值:14,垂直前肩 |
FrameRate | int | 缺省值:60,帧率 |
TESel | bool | 缺省值:false,TE选择 |
RstPolarity | int | 缺省值:1,reset极性 |
返回值描述:
成功则返回
0
, 失败则报错。
mipi屏引脚说明:
引脚名 | EC600U系列 | EC200U系列 |
---|---|---|
CKN | PIN61 | PIN27 |
CKP | PIN58 | PIN26 |
D1N | PIN59 | PIN24 |
D1P | PIN60 | PIN25 |
D0N | PIN69 | PIN13 |
D0P | PIN70 | PIN135 |
FMARK | PIN62 | PIN119 |
RESET | PIN64 | PIN120 |
使用示例:
lcd.lcd_clear
#
该方法用于清除屏幕。
参数描述:
-
color
- 需要刷屏的颜色值,16进制。
返回值描述:
成功返回
0
,失败返回
-1
。
lcd.lcd_write
#
该方法用于区域写屏。
参数描述:
-
color_buffer
- 屏幕的颜色值缓存,bytearray类型。 -
start_x
- 起始 x 坐标,int类型。 -
start_y
- 起始 y 坐标,int类型。 -
end_x
- 结束 x 坐标,int类型。 -
end_y
- 结束 y 坐标,int类型。
返回值描述:
0
表示成功。
-1
表示屏幕未初始化。
-2
表示宽度和高度设置错误。
-3
表示数据缓存为空。
lcd.lcd_brightness
#
该方法用于设置屏幕亮度等级。
参数描述:
-
level
- 亮度等级,int类型 ,说明如下:
此处会调用 lcd.lcd_init()中的 lcd_set_brightness回调。若该参数为 None,亮度调节则由背光亮度调节引脚来控制,范围[0,5]。
返回值描述:
成功返回
0
, 失败返回
-1
。
lcd.lcd_display_on
#
此接口用于向LCD发送lcd_display_on指令来打开屏幕显示,请确保lcd初始化的时候传入了正确的lcd_display_on指令。
返回值描述:
成功返回
0
, 失败返回
-1
。
lcd.lcd_display_off
#
此接口用于向LCD发送lcd_display_off 指令来关闭屏幕显示,请确保lcd初始化的时候传入了正确的lcd_display_off 指令。
返回值描述:
成功返回
0
, 失败返回
-1
。
lcd.lcd_write_cmd
#
该方法用于写入命令。
参数描述:
-
cmd_value
- 命令值 ,16进制 。 -
cmd_value_len
- 命令值长度,int类型。
返回值描述:
成功返回
0
, 失败返回其他值。
lcd.lcd_write_data
#
该方法用于写入数据。
参数描述:
-
data_value
- 数据值,16进制。 -
data_value_len
- 数据值长度,int类型。
返回值描述:
成功返回
0
, 失败返回其他值。
lcd.lcd_show
#
该方法采用读文件方式,显示图片。
该文件是由Image2Lcd工具生成的bin文件,若勾选包含图像头文件,则width和hight无需填写。
参数描述:
-
file_name
- 需要显示的图片名,str类型。 -
start_x
- 起始x坐标,int类型。 -
start_y
- 起始y坐标,int类型。 -
width
- 图片宽度(若图片文件包含头信息,则该处不填),int类型。 -
hight
- 图片高度(若图片文件包含头信息,则该处不填),int类型。
返回值描述:
成功返回
0
, 失败返回其他值。
lcd.lcd_show_jpg
#
该方法采用读文件方式,显示jpeg图片。
参数描述:
-
file_name
- 需要显示的图片名,str类型。 -
start_x
- 起始x坐标,int类型。 -
start_y
- 起始y坐标,int类型。
返回值描述:
成功返回
0
, 失败返回其他值。
使用示例:
需要配合LCD屏使用,如下代码以st7789为例。