屏幕调试
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 接口 API 和 SPI 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 绘制。
注意:
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>
效果如下:

清屏
示例如下(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>
效果如下:

图片显示
注意 :该接口并非所有模组都支持,具体支持情况请咨询移远通信技术支持。
示例如下(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 初始化接口介绍
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 绘制。
注意:
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>

清屏
示例如下(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>
效果如下:

图片显示
注意 :该接口并非所有模组都支持,具体支持情况请参考 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>
效果如下:

常见问题
花屏
初始化显示屏但未写入任何数据,显示屏可能会出现所谓的"花屏"现象,主要原因可能包括:
- 显示缓冲区的初始状态:当你初始化显示屏但未写入任何数据时,显示缓冲区可能包含随机数据,这可能导致在屏幕上显示随机的像素,即出现花屏现象。这是因为大多数系统并不会在初始化时自动清除显示缓冲区。
- 电源和信号问题:如果显示屏的电源不稳定,或者数据信号存在干扰,也可能导致花屏。这可能需要检查电源和信号线路的质量。
- 显示驱动程序或硬件问题:如果显示驱动程序存在问题,或者显示硬件有故障,也可能导致花屏。例如,驱动程序可能未正确初始化显示硬件,或者硬件存在故障。
为了解决这个问题,可以尝试在初始化显示屏后立即清除显示缓冲区,即将其所有像素设置为同一颜色(通常是黑色或白色)。这应该可以消除花屏现象。如果问题仍然存在,可能需要检查你的电源和信号线路,或者检查显示驱动程序和硬件是否存在问题。
刷新率低
LCD 刷新率低可以有多种原因,包括:
- 硬件性能限制:内存或数据总线带宽的限制。目前 QuecPython 各个模组对应的最大 SPI 频率为 50Mhz,且大多数屏幕无法适配这么大的频率,导致屏幕较大时,刷新帧率较小。
- 驱动程序或操作系统问题:驱动程序或操作系统可能没有正确配置或优化来充分利用硬件性能。例如,驱动程序可能没有正确配置显示控制器,或者操作系统可能没有正确调度图形任务。
- 显示设置问题:显示设置,如分辨率,可能过高,超出了硬件或驱动程序的性能能力。试着降低分辨率看是否可以提高刷新率。
- 显示控制器或面板问题:显示控制器或 LCD 面板本身也可能有性能限制,不能达到更高的刷新率。
- 信号干扰或质量问题:如果使用的是长数据线或信号质量差,可能会导致刷新率降低。尝试更换数据线或改善信号质量。
- 应用程序问题:运行的应用程序可能占用了大量的图形资源,导致刷新率降低。尝试关闭不需要的应用程序,或者降低应用程序的图形需求。
屏幕无法点亮
LCD 屏幕无法点亮可能有很多原因,以下列出了一些常见的可能性:
- 电源问题:LCD 屏幕需要电源供应,如果电源供应有问题,例如供电电压过高或过低,电源线接触不良,电源适配器故障,都可能导致 LCD 屏幕无法点亮。
- 接口问题:LCD 屏幕通常通过某种接口(例如 MIPI SPI 等)连接到驱动电路或者主控板。如果这些接口连接不稳定或者接口线路有问题,可能会导致 LCD 屏幕无法正常工作。驱动 MIPI 时,因为MIPI频率较高,若连接线过长或者有折痕,也可能导致 LCD 无法工作。
- 驱动问题:如果驱动程序有问题,或者主控板没有正确配置 LCD 屏幕的参数,也可能导致 LCD 屏幕无法点亮。例如分辨率、色深、帧率等参数设置不正确,或者驱动程序本身有 bug。
- 硬件故障:LCD 屏幕自身也可能出现故障,如液晶面板、背光源、驱动 IC 或者其他电子元件损坏,都可能导致 LCD 屏幕无法点亮。
- 信号问题:例如信号线损坏,或者信号质量不好(如噪声过大,信号过弱等),也可能导致 LCD 屏幕无法正常显示。