ST7701S 显示驱动
此显示驱动支持具有 16 位并行接口的显示,通常称为”RGB”。目前 支持 ST7701S 芯片。
WARNING
由于 ST7701S 现已由 Mipi Rgb 支持,此组件已被取代。 此组件将在未来的版本中被移除。
此驱动已与以下显示进行了测试:
- Seeed Sensecap Indicator
- Makerfabs 4” 显示
此组件需要 ESP32(通常是 ESP32-S3,因为需要大量的 GPIO 引脚)并使用 ESP-IDF。由于显示缓冲区的大小,PSRAM 是必需的。

# 示例最小配置条目display: - platform: st7701s dimensions: width: 480 height: 480 cs_pin: GPIOXX reset_pin: GPIOXX de_pin: GPIOXX hsync_pin: GPIOXX vsync_pin: GPIOXX pclk_pin: GPIOXX # 将 XX 替换为正确的引脚号
data_pins: red: - XX #r1 - XX #r2 - XX #r3 - XX #r4 - XX #r5 green: - XX #g0 - XX #g1 - XX #g2 - XX #g3 - XX #g4 - XX #g5 blue: - XX #b1 - XX #b2 - XX #b3 - XX #b4 - XX #b5- init_sequence (可选, 字节数组列表): 指定显示的初始化序列
- data_pins (必需): 用于数据总线的引脚列表。分为 3 组。
- red (必需, Pin Schema): 红色数据位的恰好 5 个引脚编号,按从最低 到最高有效位排列。
- green (必需, Pin Schema): 绿色数据位的恰好 6 个引脚编号,按从最低 到最高有效位排列。
- blue (必需, Pin Schema): 蓝色数据位的恰好 5 个引脚编号,按从最低 到最高有效位排列。
- de_pin (必需, Pin Schema): DE 引脚。
- dc_pin (可选, Pin Schema): DC 引脚。
- pclk_pin (必需, Pin Schema): PCLK 引脚。
- hsync_pin (必需, Pin Schema): 水平同步引脚。
- vsync_pin (必需, Pin Schema): 垂直同步引脚。
- reset_pin (可选, Pin Schema): RESET 引脚。
- hsync_pulse_width (可选, int): 水平同步脉冲宽度。
- hsync_front_porch (可选, int): 水平前廊长度。
- hsync_back_porch (可选, int): 水平后廊长度。
- vsync_pulse_width (可选, int): 垂直同步脉冲宽度。
- vsync_front_porch (可选, int): 垂直前廊长度。
- vsync_back_porch (可选, int): 垂直后廊长度。
- pclk_frequency (可选): 设置像素时钟速度。默认为 8MHz。
- pclk_inverted (可选, bool): 如果 pclk 是负触发(默认为 True)
- update_interval (可选, Time): 重新绘制屏幕的间隔。默认为
5s。 - auto_clear_enabled (可选, boolean): 显示是否在每次更新前清除。默认为
true如果配置了 lambda 或页面,否则为 false。 - pages (可选, list): 显示页面而非单个 lambda。请参见 显示页面。
- id (可选, ID): 手动指定用于代码生成的 ID。
- color_order (可选): 应为
bgr(默认)或rgb之一。 - dimensions (必需): 屏幕尺寸,可以 width x height(例如
320x240)或分别用配置键指定。- height (必需, int): 以像素指定显示的高度。
- width (必需, int): 指定显示的宽度。
- offset_width (可选, int): 指定显示的 x 方向偏移量,通常用于 LCD 小于驱动芯片最大支持尺寸时。默认为 0
- offset_height (可选, int): 指定显示的 y 方向偏移量。默认为 0。
- data_rate (可选): 设置显示 SPI 接口的数据速率。可选值为
80MHz、40MHz、20MHz、10MHz、5MHz、2MHz、1MHz(默认)、200kHz、75kHz或1kHz。 - spi_mode (可选): 设置显示 SPI 接口的模式。默认为
MODE0,但一些显示需要MODE3。 - invert_colors (可选): 通过此布尔选项可以反转显示颜色。注意 某些显示此选项自动设置为 true 且无法更改。
- rotation (可选): 在软件中旋转显示。可选值为
0°、90°、180°或270°。此选项不能与transform一起使用。 - transform (可选): 使用硬件转换显示。所有默认值均为
false。此选项不能与rotation一起使用。- mirror_x (可选, boolean): 如果为 true,则镜像 x 轴。
- mirror_y (可选, boolean): 如果为 true,则镜像 y 轴。
- lambda (可选, lambda): 用于在显示上渲染内容的 lambda。 更多信息请参见 显示渲染引擎。
注意: 要在硬件中将显示旋转 180 度,将 mirror_x 和 mirror_y 都设置为 true。st7701s 不支持硬件旋转 90 或 270 度。
水平和垂直的 pulse_width、front_porch 和 back_porch 值是可选的,但可能需要
针对特定显示进行更改。请参考制造商的示例代码
以获取合适的值。这些指定了显示的时间要求。
init_sequence 需要一个元素列表,其中一个可以是选择预置初始化
序列的单个整数(默认且目前唯一的序列是 1),其余必须是字节数组,提供附加的
初始化命令,每个命令由一个命令字节后跟零个或多个数据字节组成。
可以使用 delay <N>ms 指定延迟。
这些将在初始化期间通过 SPI 收集并发送到显示。
Seeed Sensecap Indicator
Section titled “Seeed Sensecap Indicator”display: - platform: st7701s update_interval: never spi_mode: MODE3 color_order: RGB dimensions: width: 480 height: 480 invert_colors: true transform: mirror_x: true mirror_y: true cs_pin: pca9554: p_c_a number: 4 reset_pin: pca9554: p_c_a number: 5 de_pin: 18 hsync_pin: 16 vsync_pin: 17 pclk_pin: 21 init_sequence: - 1 # 选择预置初始化序列 1 - delay 5ms - [ 0xE0, 0x1F ] # 设置阳光可读增强 data_pins: red: - 4 #r1 - 3 #r2 - 2 #r3 - 1 #r4 - 0 #r5 green: - 10 #g0 - 9 #g1 - 8 #g2 - 7 #g3 - 6 #g4 - 5 #g5 blue: - 15 #b1 - 14 #b2 - 13 #b3 - 12 #b4 - 11 #b5 lambda: |- it.fill(COLOR_BLACK); it.print(0, 0, id(my_font), id(my_red), TextAlign::TOP_LEFT, "Hello World!");