# LVGL8 Widgets RGB 示例 ## 功能说明 本示例演示如何在 `venusa_rd_evb` 上通过 LISA Display RGB 总线驱动 ST7701S 480x800 屏幕、通过 FT6236 提供触摸输入,并运行 LVGL8 widgets demo。 示例使用 RGB 并行总线传输 RGB565 像素数据,将 SDIO pad 复用为 GPIOB,并通过 `spi_sw0` 模拟 9-bit SPI 命令通道初始化 ST7701S。初始化序列来自 `samples/drivers/devices/lisa_rgb/rgb_bounce_buffer/src/st7701s_lcd.c`,通过 `panel_init_params` 覆盖 panel 内置默认序列。 当前版本初始化 FT6236 触摸输入,不配置 PWM 背光。 ## 硬件连接 ### RGB 数据通道 - **PA2**: PCLK - **PA20**: VSYNC - **PA19**: HSYNC - **PA30**: DE - **PA7 ~ PA3**: R3 ~ R7 - **PA13 ~ PA8**: G2 ~ G7 - **PA18 ~ PA14**: B3 ~ B7 ### ST7701S 命令通道 - **SDIO_CLK / GPIOB 10**: SCL - **SDIO_CMD / GPIOB 11**: SDA - **SDIO_DAT3 / GPIOB 15**: CS - **PA0**: RESET ### FT6236 触摸通道 - **PB1**: I2C1 SDA - **PB2**: I2C1 SCL - **PA1**: INT - **RST**: 未由主控控制 ## 编译 ```{eval-rst} .. include:: /sample_build.rst ``` 示例构建目标板型为 `venusa_rd_evb`: ```bash ./build.sh -C -S samples/media/lvgl/lvgl8/widgets_rgb -DBOARD=venusa_rd_evb ``` ## 烧录 ```{eval-rst} .. include:: /sample_flash.rst ``` ## 预期输出 **终端输出:** ```text === LVGL8 Widgets RGB ST7701S example === SPI command bus configured: freq=62500 Hz, mode=0, data_bits=9 st7701s initialized LVGL8 widgets RGB start ``` **显示屏效果:** - 屏幕显示 LVGL8 widgets demo - RGB 输出分辨率为 480 x 800 - FT6236 触摸输入已注册到 LVGL ## 关键配置 ```kconfig CONFIG_LISA_DISPLAY_PANEL_ST7701S=y CONFIG_PANEL_ST7701S_WIDTH=480 CONFIG_PANEL_ST7701S_HEIGHT=800 CONFIG_LISA_RGB_DEVICE=y CONFIG_LISA_DISPLAY_BUS_RGB=y CONFIG_LISA_DISPLAY_CMD_BUS_SW_SPI=y CONFIG_LISA_GPIOB=y CONFIG_LISA_SPI_SW0=y CONFIG_LISA_DISPLAY_BACKLIGHT_NONE=y CONFIG_LISA_TOUCH_DEVICE=y CONFIG_LISA_I2C=y CONFIG_LISA_I2C1=y CONFIG_LISA_TOUCH_ARCS_FT6236=y CONFIG_SDK_MODULE_LVGL8=y CONFIG_LV_USE_DEMO_WIDGETS=y CONFIG_LV_USE_GPU_CSK_DMA2D=n CONFIG_LV_DOUBLE_VDB=n ``` ## 文件说明 - `src/main.c` - 示例主程序 - `prj.conf` - Kconfig 配置 - `sample.yaml` - 样例构建配置 - `CMakeLists.txt` - 构建配置