显示器-调试

屏幕调试

SPI LCD

SPI LCD 显示屏是使用 SPI 接口进行通信的 LCD 显示屏。这种显示屏的优点在于其接口简单,线数少,使得硬件布线更加简洁。它们非常适合用于微控制器和其他资源有限的系统。

在 SPI LCD 中,数据和命令通过 MOSI 线发送到显示器,而 SCLK 线用于同步数据传输。CS 线用于在与多个设备通信时,选择特定的设备进行通信。

在一般使用中,控制器(如微控制器)会根据显示器的规格(例如分辨率和颜色深度)以及需要显示的内容,通过 SPI 接口发送适当的命令和数据。这可能包括设置显示参数、写入像素数据等。

本章节将基于 QuecPython 开发板驱动st7789(240\*320)(TODO 链接)屏幕,介绍 SPI LCD 的调试。

前期准备工作

在实现 LCD 驱动之前,我们需要一些准备工作,该部分让我了解 QuecPython 驱动一款屏幕需要

哪些前期准备,我们需要知道 quecpython lcd 驱动 LCD 接口以及接口需要哪些参数。还需要对拿到

手的屏幕了解其 ID,驱动 IC 的类型,以及相关的命令。

注意: 原厂提供的初始化参数非常重要,后面 SPI LCD 初始化时,实际为将该参数替换成 lcd.lcd_init 所需要格式的参数。

了解QuecPython LCD接口,才能更好是利用它点亮屏幕 。

注意: 目前 QuecPython SPI 驱动分为两种,LCM( Liquid Crystal Module )和通用 SPI( Serial Peripheral Interface )。两者的初始化接口有差异,具体详细可参考QuecPython LCD接口

了解 LCD.lcd_init 中的参数,对于 QuecPython 驱动 LCD 至关重要,请仔细阅读如下内容。

参数格式如下所示:

type + len + value

参数 含义 说明
type 类型 表示value 的类型 0:命令 1:数据 2:延时
len 数据个数 若 type 为命令时,len 表示后面接多少个数据 若 type 为数据时,len 表示数据的长度。注:数据可以为 1byte 也可能为 2byte 若 type 为延时,len 无实际意义。为 0 接口。
value 数据 若 type 为命令时,value 表示命令值 若 type 为数据时,value 表示数据值。 若 type 为延时时,value 表示延时的时长,单位 ms。

注意:由于lcd_init传入的是字节数组,需要进行 bytearray 转换。后续初始化参数,区域写屏参数,亮屏,息屏等参数均是按照该格式进行。

举例说明:

language-none 复制代码
<span style="color:#262626"><span style="background-color:#ffffff"><span style="background-color:#2d2d2d"><span style="color:#cccccc"><code class="language-python">init <span style="color:#67cdcc">=</span> <span style="color:#cccccc">(</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span>0xXX<span style="color:#cccccc">,</span>   <span style="color:#999999">#命令,后接一个data, cmd 值为 0xXX</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">2</span><span style="color:#cccccc">,</span>0xXX<span style="color:#cccccc">,</span>0xXX<span style="color:#cccccc">,</span>  <span style="color:#999999">#数据,数据长度为2,data值为0x0100</span>
<span style="color:#f08d49">2</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">120</span><span style="color:#cccccc">,</span>    <span style="color:#999999">#延时 120ms</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">2</span><span style="color:#cccccc">,</span>0xXX<span style="color:#cccccc">,</span>   <span style="color:#999999">#命令,后接 2个data, cmd 值为0xXX</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span>0xXX<span style="color:#cccccc">,</span>   <span style="color:#999999">#数据,命令的第一个data,data值为0xXX</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">2</span><span style="color:#cccccc">,</span>0xXX<span style="color:#cccccc">,</span><span style="color:#f08d49">0xFF</span> <span style="color:#999999">#数据,命令的第二个data,数据的长度为 2,data值为0xXXFF</span>
...
<span style="color:#cccccc">)</span>
</code></span></span></span></span>
初始化参数

该部分比较容易出错且非常重要,请重点关注

该部分参数主要由屏幕厂家提供的源码转换而来,而厂家提供大多数为 C 代码,下面我们将 C 代码转换为 lcd_init 所需要的参数。转换示例如下:

小技巧:在VSCode中,使用正则表达式替换原始文本,以达到快速生成lcd_init方法所需的参数。

区域写屏参数

不同的 LCD屏有不同的设置区域方式,我们将参数设置之后,用户就无需关心底层如何调用了。

一般屏幕设置有两种方式:(以 ili9225 和 st7789v 为例)

一:分两次写:高八位和低八位,此参数根据具体的屏幕去驱动而定(如 st7789v)

二:一次写一个两个字节(如 ili9225)

关于显示区域有几个重要的参数需要提交了解。

language-none 复制代码
<span style="color:#262626"><span style="background-color:#ffffff"><span style="background-color:#2d2d2d"><span style="color:#cccccc"><code class="language-python">XSTART_H <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xf0</span>     <span style="color:#999999">#代表X起始坐标 高八位 (以此值写入,底层会识别该位是x坐标的高位)</span>
XSTART_L <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xf1</span>  <span style="color:#999999">#代表X起始坐标 低八位 (以此值写入,底层会识别该位是x坐标的低位)</span>
YSTART_H <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xf2</span>  <span style="color:#999999">#代表Y起始坐标的高八位</span>
YSTART_L <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xf3</span>  <span style="color:#999999">#代表Y起始坐标的低八位</span>
XEND_H <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xE0</span>       <span style="color:#999999">#代表X结束坐标的高八位</span>
XEND_L <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xE1</span>       <span style="color:#999999">#代表X结束坐标的低八位</span>
YEND_H <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xE2</span>       <span style="color:#999999">#代表Y结束坐标的高八位</span>
YEND_L <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xE3</span>       <span style="color:#999999">#代表Y结束坐标的低八位</span>

XSTART <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xD0</span>       <span style="color:#999999">#代表X的起始坐标</span>
XEND <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xD1</span>      <span style="color:#999999">#代表X的结束坐标</span>
YSTART <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xD2</span>       <span style="color:#999999">#代表Y的起始坐标</span>
YEND <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xD3</span>      <span style="color:#999999">#代表Y的结束坐标</span>
</code></span></span></span></span>

注意:该参数为定位符,用于底层 lcd.lcd_write 接口替换坐标使用

language-none 复制代码
<span style="color:#262626"><span style="background-color:#ffffff"><span style="background-color:#2d2d2d"><span style="color:#cccccc"><code class="language-python"><span style="color:#999999">#举例如下:</span>
<span style="color:#999999">#ILI9225 -- 一次写两个字节</span>
ili9225_invalid <span style="color:#67cdcc">=</span> <span style="color:#cccccc">(</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x36</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">2</span><span style="color:#cccccc">,</span>XEND<span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x37</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">2</span><span style="color:#cccccc">,</span>XSTART<span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x38</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">2</span><span style="color:#cccccc">,</span>YEND<span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x39</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">2</span><span style="color:#cccccc">,</span>YSTART<span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x20</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">2</span><span style="color:#cccccc">,</span>XSTART<span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x21</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">2</span><span style="color:#cccccc">,</span>YSTART<span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x22</span><span style="color:#cccccc">,</span>
<span style="color:#cccccc">)</span>

<span style="color:#999999">#st7789v - 分两次写,一次一个字节:</span>
st7789_invalid <span style="color:#67cdcc">=</span> <span style="color:#cccccc">(</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">4</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x2a</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span>XSTART_H<span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span>XSTART_L<span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span>XEND_H<span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span>XEND_L<span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">4</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x2b</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span>YSTART_H<span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span>YSTART_L<span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span>YEND_H<span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span>YEND_L<span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x2c</span><span style="color:#cccccc">,</span>
<span style="color:#cccccc">)</span>
</code></span></span></span></span>

原厂提供 C 转 Python 示例如下:

亮屏息屏参数

由于每款 LCD 的亮屏命令不一样,故需要用户提供该配置参数。此参数根据具体的屏幕去驱动而定。

以 ST7789V 为例:

根据图中内容可以确认该 LCD 的亮屏息屏参数 为 29h 和 28h。退出休眠和进入休眠对应的命令为 11h 和 10h。即可确定亮屏和息屏参数(也可由屏厂提供的示例确定)。

故亮屏息屏参数如下:

language-none 复制代码
<span style="color:#262626"><span style="background-color:#ffffff"><span style="background-color:#2d2d2d"><span style="color:#cccccc"><code class="language-python">lcd_displayON_data <span style="color:#67cdcc">=</span> <span style="color:#cccccc">(</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x11</span><span style="color:#cccccc">,</span>       <span style="color:#999999">#写命令0x11, 后面不接data</span>
<span style="color:#f08d49">2</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">120</span><span style="color:#cccccc">,</span>         <span style="color:#999999">#延时120ms</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x29</span><span style="color:#cccccc">,</span>       <span style="color:#999999">#写命令0x29, 后面不接data</span>
<span style="color:#cccccc">)</span>
lcd_displayON_data <span style="color:#67cdcc">=</span> <span style="color:#cc99cd">bytearray</span><span style="color:#cccccc">(</span>lcd_displayON_data<span style="color:#cccccc">)</span>

lcd_displayOFF_data <span style="color:#67cdcc">=</span> <span style="color:#cccccc">(</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x28</span><span style="color:#cccccc">,</span>       <span style="color:#999999">#写命令0x28, 后面不接data</span>
<span style="color:#f08d49">2</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">120</span><span style="color:#cccccc">,</span>        <span style="color:#999999">#延时120ms</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x10</span><span style="color:#cccccc">,</span>       <span style="color:#999999">#写命令0x10, 后面不接data</span>
<span style="color:#cccccc">)</span>
lcd_displayOFF_data <span style="color:#67cdcc">=</span> <span style="color:#cc99cd">bytearray</span><span style="color:#cccccc">(</span>lcd_displayOFF_data<span style="color:#cccccc">)</span>

</code></span></span></span></span>
脚本编写
创建对象
language-none 复制代码
<span style="color:#262626"><span style="background-color:#ffffff"><span style="background-color:#2d2d2d"><span style="color:#cccccc"><code class="language-none">from machine import LCD
mipi_lcd = LCD()
</code></span></span></span></span>
SPI LCD 初始化接口介绍

请参考LCM 接口 APISPI LCD 接口 API

编写初始化参数

以前期准备中的参数,按照接口介绍中顺序,传入 lcd.lcd_init 中即可。

以 ST7789V 为例:

language-none 复制代码
<span style="color:#262626"><span style="background-color:#ffffff"><span style="background-color:#2d2d2d"><span style="color:#cccccc"><code class="language-python">XSTART_H <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xf0</span>
XSTART_L <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xf1</span>
YSTART_H <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xf2</span>
YSTART_L <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xf3</span>
XEND_H <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xE0</span>
XEND_L <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xE1</span>
YEND_H <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xE2</span>
YEND_L <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xE3</span>
XSTART <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xD0</span>
XEND <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xD1</span>
YSTART <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xD2</span>
YEND <span style="color:#67cdcc">=</span> <span style="color:#f08d49">0xD3</span>

init_st7789_240X320<span style="color:#67cdcc">=</span><span style="color:#cccccc">(</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x11</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">2</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">120</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x36</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x3A</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x05</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x35</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0xC7</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0xCC</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x09</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">5</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0xB2</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x0C</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x0C</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x33</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x33</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0xB7</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x35</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0xBB</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x36</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0xC0</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x2C</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0xC2</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x01</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0xC3</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x0D</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0xC4</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x20</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0xC6</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x0F</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">2</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0xD0</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0xA4</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0xA1</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">14</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0xE0</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0xD0</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x17</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x19</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x04</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x03</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x04</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x32</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x41</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x43</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x09</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x14</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x12</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x33</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x2C</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">14</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0xE1</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0xD0</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x18</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x17</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x04</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x03</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x04</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x31</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x46</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x43</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x09</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x14</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x13</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x31</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x2D</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x29</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x36</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">1</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0x2c</span><span style="color:#cccccc">,</span>
<span style="color:#cccccc">)</span>
init_st7789_240X320_p <span style="color:#67cdcc">=</span> <span style="color:#cc99cd">bytearray</span><span style="color:#cccccc">(</span>init_st7789_240X320<span style="color:#cccccc">)</span>
invalid_st7789_240X320 <span style="color:#67cdcc">=</span> <span style="color:#cccccc">(</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">4</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x2a</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span>XSTART_H<span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span>XSTART_L<span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span>XEND_H<span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span>XEND_L<span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">4</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x2b</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span>YSTART_H<span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span>YSTART_L<span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span>YEND_H<span style="color:#cccccc">,</span>
<span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span>YEND_L<span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x2c</span><span style="color:#cccccc">,</span>
<span style="color:#cccccc">)</span>
invalid_st7789_240X320_p <span style="color:#67cdcc">=</span> <span style="color:#cc99cd">bytearray</span><span style="color:#cccccc">(</span>invalid_st7789_240X320<span style="color:#cccccc">)</span>

displayOFF_st7789_240X320 <span style="color:#67cdcc">=</span> <span style="color:#cccccc">(</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x28</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">2</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">120</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x10</span><span style="color:#cccccc">,</span>
<span style="color:#cccccc">)</span>
displayOFF_st7789_240X320_p <span style="color:#67cdcc">=</span> <span style="color:#cc99cd">bytearray</span><span style="color:#cccccc">(</span>displayOFF_st7789_240X320<span style="color:#cccccc">)</span>

displayON_st7789_240X320 <span style="color:#67cdcc">=</span> <span style="color:#cccccc">(</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x11</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">2</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">20</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x29</span><span style="color:#cccccc">,</span>
<span style="color:#cccccc">)</span>
displayON_st7789_240X320_p <span style="color:#67cdcc">=</span> <span style="color:#cc99cd">bytearray</span><span style="color:#cccccc">(</span>displayON_st7789_240X320<span style="color:#cccccc">)</span>
<span style="color:#cc99cd">from</span> machine <span style="color:#cc99cd">import</span> LCD
spilcd <span style="color:#67cdcc">=</span> LCD<span style="color:#cccccc">(</span><span style="color:#cccccc">)</span>
spilcd<span style="color:#cccccc">.</span>lcd_init<span style="color:#cccccc">(</span>init_st7789_240X320_p<span style="color:#cccccc">,</span> <span style="color:#f08d49">240</span><span style="color:#cccccc">,</span><span style="color:#f08d49">320</span><span style="color:#cccccc">,</span><span style="color:#f08d49">52000</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">4</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span>invalid_st7789_240X320_p<span style="color:#cccccc">,</span>displayON_st7789_240X320_p<span style="color:#cccccc">,</span>displayOFF_st7789_240X320_p<span style="color:#cccccc">,</span><span style="color:#f08d49">None</span><span style="color:#cccccc">)</span>
</code></span></span></span></span>

效果如下:

区域写屏

该接口 十分重要,UI 就是基于该接口对屏幕进行 UI 绘制。

lcd.lcd_write 接口原型

注意:

QuecPython 屏幕数据为大端模式。

示例如下(ST7789V):

language-none 复制代码
<span style="color:#262626"><span style="background-color:#ffffff"><span style="background-color:#2d2d2d"><span style="color:#cccccc"><code class="language-python">buf <span style="color:#67cdcc">=</span> <span style="color:#cc99cd">bytearray</span><span style="color:#cccccc">(</span><span style="color:#f08d49">10240</span><span style="color:#cccccc">)</span> <span style="color:#999999">#此时buf值全为0, 颜色体现为黑色</span>
spilcd<span style="color:#cccccc">.</span>lcd_write<span style="color:#cccccc">(</span>buf<span style="color:#cccccc">,</span><span style="color:#f08d49">110</span><span style="color:#cccccc">,</span><span style="color:#f08d49">150</span><span style="color:#cccccc">,</span><span style="color:#f08d49">130</span><span style="color:#cccccc">,</span><span style="color:#f08d49">170</span><span style="color:#cccccc">)</span>
</code></span></span></span></span>

效果如下:

清屏

lcd.lcd_clear 接口原型

示例如下(ST7789V):

language-none 复制代码
<span style="color:#262626"><span style="background-color:#ffffff"><span style="background-color:#2d2d2d"><span style="color:#cccccc"><code class="language-python">spilcd<span style="color:#cccccc">.</span>lcd_clear<span style="color:#cccccc">(</span><span style="color:#f08d49">0xf800</span><span style="color:#cccccc">)</span> <span style="color:#999999">#0xf800 is represented in red in RGB565</span>
</code></span></span></span></span>

效果如下:

图片显示

lcd.lcd_show_jpg 原型

注意 :该接口并非所有模组都支持,具体支持情况请咨询移远通信技术支持。

示例如下(ST7789V):

language-none 复制代码
<span style="color:#262626"><span style="background-color:#ffffff"><span style="background-color:#2d2d2d"><span style="color:#cccccc"><code class="language-python">spilcd<span style="color:#cccccc">.</span>lcd_show_jpg<span style="color:#cccccc">(</span><span style="color:#7ec699">"usr/background1.jpeg"</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0</span><span style="color:#cccccc">)</span>
</code></span></span></span></span>

效果如下:

MIPI LCD

MIPI 协议实际上是一系列接口的协议,包含液晶、摄像头等等。液晶中所用的 MIPI 接口,其专业名称叫 DSI,全称 Display Serial Interface。顾名思义,该接口是指用于显示模块的一个串行接口,基于 MIPI 协议而产生,兼容 DPI(显示像素接口,Display Pixel Interface)、DBI(显示总线接口,Display Bus Interface)和 DCS(显示命令集,Display Command Set)。

本章节将基于 QuecPython 铀 235 开发板驱动 ST7701S(480*854)屏幕,介绍 MIPI LCD 的调试。

由于 QuecPython 下 LCD 的相关**API** 已经开发好,用户可以直接依照API格式,编写 MIPI 屏幕驱动。

注意: 目前 QuecPython 支持 mipi 的平台仅支持 RGB565 格式.

**注意:**实际使用中,LCD 多与 UI(LVGL(TODO 链接))搭配使用。

前期准备工作

确定使用的 MIPI 屏幕,咨询阅读其 datasheet 和驱动 IC 的技术手册。了解屏幕的特性,确定屏幕的初始化参数(分辨率, Lane 数等)。屏幕的初始化参数可以找屏幕原厂提供。

注意: 原厂提供的初始化参数非常重要,后面 MIPI LCD 初始化时,实际为将该参数替换成 lcd.mipi_init 所需要格式的参数。

从原厂给出的屏幕 datasheet 中可以看出其分辨率(480*854)、驱动 IC(ST7701S)、接口接口(2-LINE MIPI)、触摸 IC(GT911)和触摸接口(I2C)。

脚本编写
创建 LCD 对象
language-none 复制代码
<span style="color:#262626"><span style="background-color:#ffffff"><span style="background-color:#2d2d2d"><span style="color:#cccccc"><code class="language-python"><span style="color:#cc99cd">from</span> machine <span style="color:#cc99cd">import</span> LCD
mipi_lcd <span style="color:#67cdcc">=</span> LCD<span style="color:#cccccc">(</span><span style="color:#cccccc">)</span>
</code></span></span></span></span>
MIPI 初始化接口介绍

lcd.mipi_init 接口原型

language-none 复制代码
<span style="color:#262626"><span style="background-color:#ffffff"><span style="background-color:#2d2d2d"><span style="color:#cccccc"><code class="language-python">lcd<span style="color:#cccccc">.</span>mipi_init<span style="color:#cccccc">(</span>initbuf<span style="color:#cccccc">,</span> <span style="color:#67cdcc">**</span>kwargs<span style="color:#cccccc">)</span>
</code></span></span></span></span>
参数 类型 说明
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 极性
编写初始化参数

该部分比较容易出错且非常重要,请重点关注

参数格式如下所示:

cmd + delay_ms + data_len + data_list

参数 含义 说明
cmd 命令 初始化时命令值
delay_ms 延时 延时多久后发送命令,单位 ms
data_len 数据长度 命令后配置数据搭配的数据个数
data_list 数据 命令后配置的实际数据,个数由 data_len 指定

注意:由于lcd_init传入的是字节数组,需要进行 bytearray 转换。

示例如下(st7701s):

该部分参数主要由屏幕厂家提供的源码转换而来

language-none 复制代码
<span style="color:#262626"><span style="background-color:#ffffff"><span style="background-color:#2d2d2d"><span style="color:#cccccc"><code class="language-python">init_480X854 <span style="color:#67cdcc">=</span> <span style="color:#cccccc">(</span>
<span style="color:#f08d49">0x11</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span>                               <span style="color:#999999">#命令为0x11, 延时0ms, 命令所接参数无</span>
<span style="color:#f08d49">0xFF</span><span style="color:#cccccc">,</span><span style="color:#f08d49">120</span><span style="color:#cccccc">,</span><span style="color:#f08d49">5</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x77</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x01</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x10</span><span style="color:#cccccc">,</span>    <span style="color:#999999">#命令为0xFF,延时120ms, 命令对应5个参数数据,分别为          #0x77,0x01,0x00,0x00,0x10</span>
<span style="color:#f08d49">0xC0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">2</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xE9</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x03</span><span style="color:#cccccc">,</span>                     <span style="color:#999999">#命令为0xC0, 延时0ms, 命令对应2个参数数据,分别为           #0xE9,0x03</span>
<span style="color:#f08d49">0xC1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">2</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x11</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x02</span><span style="color:#cccccc">,</span>                     <span style="color:#999999"># ... 下面依此类推</span>
<span style="color:#f08d49">0xC2</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">2</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x31</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x08</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xCC</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x10</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xB0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">16</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x0D</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x14</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x0D</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x10</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x05</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x02</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x08</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x08</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1E</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x05</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x13</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x11</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xA3</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x29</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x18</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xB1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">16</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x0C</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x14</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x0C</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x10</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x05</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x03</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x08</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x07</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x20</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x05</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x13</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x11</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xA4</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x29</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x18</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xFF</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">5</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x77</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x01</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x11</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xB0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x6C</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xB1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x43</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xB2</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x07</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xB3</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x80</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xB5</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x47</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xB7</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x85</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xB8</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x20</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xB9</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x10</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xC1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x78</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xC2</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x78</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xD0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x88</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xE0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">100</span><span style="color:#cccccc">,</span><span style="color:#f08d49">3</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x02</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xE1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">11</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x08</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x0A</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x07</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x09</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x33</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x33</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xE2</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">13</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xE3</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">4</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x33</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x33</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xE4</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">2</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x44</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x44</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xE5</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">16</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x0E</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x60</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xA0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xA0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x10</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x60</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xA0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xA0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x0A</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x60</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xA0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xA0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x0C</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x60</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xA0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xA0</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xE6</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">4</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x33</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x33</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xE7</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">2</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x44</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x44</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xE8</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">16</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x0D</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x60</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xA0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xA0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x0F</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x60</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xA0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xA0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x09</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x60</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xA0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xA0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x0B</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x60</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xA0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xA0</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xEB</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">7</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x02</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x01</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xE4</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xE4</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x44</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x40</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xEC</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">2</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x02</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x01</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xED</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">16</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xAB</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x89</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x76</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x54</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x01</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xFF</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xFF</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xFF</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xFF</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xFF</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xFF</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x10</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x45</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x67</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x98</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0xBA</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0xFF</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">5</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x77</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x01</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x3A</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x77</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x36</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x35</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">1</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x29</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0</span><span style="color:#cccccc">)</span>
<span style="color:#cc99cd">from</span> machine <span style="color:#cc99cd">import</span> LCD
mipilcd <span style="color:#67cdcc">=</span> LCD<span style="color:#cccccc">(</span><span style="color:#cccccc">)</span>
mipilcd<span style="color:#cccccc">.</span>mipi_init<span style="color:#cccccc">(</span>initbuf<span style="color:#67cdcc">=</span><span style="color:#cc99cd">bytearray</span><span style="color:#cccccc">(</span>init_480X854<span style="color:#cccccc">)</span><span style="color:#cccccc">,</span> TransMode<span style="color:#67cdcc">=</span><span style="color:#f08d49">1</span><span style="color:#cccccc">)</span>
</code></span></span></span></span>

效果如下:

注意 :该处花屏属于正常现象,显示缓冲区中数据为随机数据,导致屏幕显示随机像素,表现即为花屏。此时清屏一下即可。

区域写屏

该接口 十分重要 ,UI 就是基于该接口对屏幕进行 UI 绘制。

lcd.lcd_write 接口原型

注意:

QuecPython 屏幕数据为大端模式。

示例如下(st7701s):

language-none 复制代码
<span style="color:#262626"><span style="background-color:#ffffff"><span style="background-color:#2d2d2d"><span style="color:#cccccc"><code class="language-python">test_buf <span style="color:#67cdcc">=</span> <span style="color:#cccccc">(</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x00</span><span style="color:#cccccc">,</span><span style="color:#f08d49">0x1f</span><span style="color:#cccccc">,</span>
<span style="color:#cccccc">)</span>
test_buf1 <span style="color:#67cdcc">=</span> <span style="color:#cc99cd">bytearray</span><span style="color:#cccccc">(</span>test_buf<span style="color:#cccccc">)</span>
mipilcd<span style="color:#cccccc">.</span>lcd_write<span style="color:#cccccc">(</span>test_buf1<span style="color:#cccccc">,</span><span style="color:#f08d49">10</span><span style="color:#cccccc">,</span><span style="color:#f08d49">10</span><span style="color:#cccccc">,</span><span style="color:#f08d49">20</span><span style="color:#cccccc">,</span><span style="color:#f08d49">20</span><span style="color:#cccccc">)</span>
</code></span></span></span></span>
清屏

lcd.lcd_clear 接口原型

示例如下(st7701s):

language-none 复制代码
<span style="color:#262626"><span style="background-color:#ffffff"><span style="background-color:#2d2d2d"><span style="color:#cccccc"><code class="language-python">mipilcd<span style="color:#cccccc">.</span>lcd_clear<span style="color:#cccccc">(</span><span style="color:#f08d49">0xf800</span><span style="color:#cccccc">)</span> <span style="color:#999999">#0xf800 is represented in red in RGB565</span>
</code></span></span></span></span>

效果如下:

图片显示

lcd.lcd_show_jpg 原型

注意 :该接口并非所有模组都支持,具体支持情况请参考 WIKI.

示例如下(st7701s):

language-none 复制代码
<span style="color:#262626"><span style="background-color:#ffffff"><span style="background-color:#2d2d2d"><span style="color:#cccccc"><code class="language-python">mipilcd<span style="color:#cccccc">.</span>lcd_show_jpg<span style="color:#cccccc">(</span><span style="color:#7ec699">"usr/background.jpeg"</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0</span><span style="color:#cccccc">,</span> <span style="color:#f08d49">0</span><span style="color:#cccccc">)</span>
</code></span></span></span></span>

效果如下:

常见问题

花屏

初始化显示屏但未写入任何数据,显示屏可能会出现所谓的"花屏"现象,主要原因可能包括:

  1. 显示缓冲区的初始状态:当你初始化显示屏但未写入任何数据时,显示缓冲区可能包含随机数据,这可能导致在屏幕上显示随机的像素,即出现花屏现象。这是因为大多数系统并不会在初始化时自动清除显示缓冲区。
  2. 电源和信号问题:如果显示屏的电源不稳定,或者数据信号存在干扰,也可能导致花屏。这可能需要检查电源和信号线路的质量。
  3. 显示驱动程序或硬件问题:如果显示驱动程序存在问题,或者显示硬件有故障,也可能导致花屏。例如,驱动程序可能未正确初始化显示硬件,或者硬件存在故障。

为了解决这个问题,可以尝试在初始化显示屏后立即清除显示缓冲区,即将其所有像素设置为同一颜色(通常是黑色或白色)。这应该可以消除花屏现象。如果问题仍然存在,可能需要检查你的电源和信号线路,或者检查显示驱动程序和硬件是否存在问题。

刷新率低

LCD 刷新率低可以有多种原因,包括:

  1. 硬件性能限制:内存或数据总线带宽的限制。目前 QuecPython 各个模组对应的最大 SPI 频率为 50Mhz,且大多数屏幕无法适配这么大的频率,导致屏幕较大时,刷新帧率较小。
  2. 驱动程序或操作系统问题:驱动程序或操作系统可能没有正确配置或优化来充分利用硬件性能。例如,驱动程序可能没有正确配置显示控制器,或者操作系统可能没有正确调度图形任务。
  3. 显示设置问题:显示设置,如分辨率,可能过高,超出了硬件或驱动程序的性能能力。试着降低分辨率看是否可以提高刷新率。
  4. 显示控制器或面板问题:显示控制器或 LCD 面板本身也可能有性能限制,不能达到更高的刷新率。
  5. 信号干扰或质量问题:如果使用的是长数据线或信号质量差,可能会导致刷新率降低。尝试更换数据线或改善信号质量。
  6. 应用程序问题:运行的应用程序可能占用了大量的图形资源,导致刷新率降低。尝试关闭不需要的应用程序,或者降低应用程序的图形需求。
屏幕无法点亮

LCD 屏幕无法点亮可能有很多原因,以下列出了一些常见的可能性:

  1. 电源问题:LCD 屏幕需要电源供应,如果电源供应有问题,例如供电电压过高或过低,电源线接触不良,电源适配器故障,都可能导致 LCD 屏幕无法点亮。
  2. 接口问题:LCD 屏幕通常通过某种接口(例如 MIPI SPI 等)连接到驱动电路或者主控板。如果这些接口连接不稳定或者接口线路有问题,可能会导致 LCD 屏幕无法正常工作。驱动 MIPI 时,因为MIPI频率较高,若连接线过长或者有折痕,也可能导致 LCD 无法工作。
  3. 驱动问题:如果驱动程序有问题,或者主控板没有正确配置 LCD 屏幕的参数,也可能导致 LCD 屏幕无法点亮。例如分辨率、色深、帧率等参数设置不正确,或者驱动程序本身有 bug。
  4. 硬件故障:LCD 屏幕自身也可能出现故障,如液晶面板、背光源、驱动 IC 或者其他电子元件损坏,都可能导致 LCD 屏幕无法点亮。
  5. 信号问题:例如信号线损坏,或者信号质量不好(如噪声过大,信号过弱等),也可能导致 LCD 屏幕无法正常显示。
相关推荐
Legendary_0081 小时前
LDR6020P:iPad 一体式皮套键盘 OTG 应用的核心引擎
ios·计算机外设·ipad
Szime9 小时前
全球首创10位40GSPS超宽带ADC选型参考:国产超高速ADC深智微科技选型支持
科技·单片机·嵌入式硬件·fpga开发
(Morgan)10 小时前
51单片机期末复习知识点总结
stm32·单片机·嵌入式硬件
榴莲llll11 小时前
应用于计时器/微波炉等产品的高亮LED数显驱动VK16K33C 数码管屏显驱动芯片
单片机
华一精品Adreamer12 小时前
T606 vs 骁龙662/RK3566:主流安卓+4G定制平板芯片横向测评指南
单片机
Zyed13 小时前
[STM32]Day9-Part1USART+串口接收+串口收发
stm32·单片机·嵌入式硬件
梦奇不是胖猫14 小时前
Marvis保姆级教程:一个帮你点鼠标的 AI 管家
人工智能·计算机外设
YJlio14 小时前
《Sysinternals实战指南》16.5 Ctrl2Cap 工具详解:把 Caps Lock 变成 Ctrl 的键盘改造与回退方法
linux·运维·服务器·网络·python·学习·计算机外设
七月稻草人14 小时前
多人在线会议如何同时操作电脑?支持多鼠标协同的软件盘点
计算机外设