选择工程
我们提供了多个版本的工程, 请根据需求选择合适的工程。 如果您对这些工程的移植过程感兴趣,可以参考移植教程中的相关内容。
我们正在持续开发中,目前提供的工程包括但不限于:
- Template 模板
- 裸机
- USB 显示屏(开发中)
- RP2350 LVGL全屏刷新示例
- EEZ Studio示例工程
- 8080屏模板工程
- FreeRTOS
- ESP32
- Linux
- Micropython (Python)
- Arduino
- embedded_graphics (Rust)
- Slint (Rust)
- zephyr
- Nuttx
- hagl
- AWTK
- uMac
- SGL
- uGUI
Template 模板
Section titled “Template 模板”该版本完全基于官方 Pico C-SDK 开发,仅提供了屏幕的初始化和刷新接口,这通常是开始移植其他GUI的基础工程。 更多信息请参考仓库 README 文件。
仓库链接:https://gitee.com/embeddedboys/pico_dm_1p5623_template
git clone https://gitee.com/embeddedboys/pico_dm_1p5623_templategit clone https://github.com/embeddedboys/pico_dm_1p5623_template该版本在 Template 的基础上移植了LVGL
仓库链接:https://gitee.com/embeddedboys/pico_dm_1p5623_noos
git clone https://gitee.com/embeddedboys/pico_dm_1p5623_noosgit clone https://github.com/embeddedboys/pico_dm_1p5623_noosUSB Display
Section titled “USB Display”我们将在现有工程(裸机或 FreeRTOS)基础上添加 USB 显示屏支持,实现以下目标:
-
在 Linux 上通过 USB 连接后,将创建一个新的 fb 设备
-
在 Windows 上通过 USB 连接后,将识别到一个新的显示器
上述两种方式均可为主机提供主显示器或扩展显示器支持。
- 无需安装驱动,通过 Python 脚本即可作为主机发送端使用。
工程还在开发中,目前还不支持触摸上报,您可以到如下仓库链接查看最新开发进度:
仓库链接:https://gitee.com/embeddedboys/pico_dm_1p5623_udd
有关编译、烧录及使用的说明,请先查看上述仓库的 README 文件。
git clone https://gitee.com/embeddedboys/pico_dm_1p5623_uddgit clone https://github.com/embeddedboys/pico_dm_1p5623_uddRP2350 LVGL 全屏刷新示例
Section titled “RP2350 LVGL 全屏刷新示例”使用局部刷新时,需要在发送像素数据前向屏幕驱动发送额外命令来设置绘制窗口,这会降低刷新效率。此外,我们的 8080 PIO 程序仅支持设置 DB0 - DB15 和 WR 引脚。如需切换 命令/数据 写入,需要在数据写入 PIO 前调用 gpio_put 切换 RS 引脚,以告知屏幕驱动 IC 当前写入的是命令还是数据。
拓展板分辨率为 480x320,使用 RGB565 格式,一帧像素占用 (480 × 320 × 2) = 307200 字节。RP2350 具有 512KB SRAM,因此可以在 RP2350 上启用 LVGL 全屏刷新功能,每当 LVGL Screen 对象有内容更新时,LVGL 会请求一次全屏刷新。
拉取代码仓库:
git clone https://github.com/embeddedboys/pico_dm_1p5623_rp2350_lvgl_full_refresh.gitgitee 镜像待添加
EEZ Studio LVGL 示例工程
Section titled “EEZ Studio LVGL 示例工程”Desktop / Embedded GUI development & Automation
Gitee:
git clone https://gitee.com/embeddedboys/pico_dm_1p5623_eezGithub:
git clone https://github.com/embeddedboys/pico_dm_1p5623_eez8080 屏幕模板工程
Section titled “8080 屏幕模板工程”Gitee:
git clone https://gitee.com/embeddedboys/pico_i8080_templateGithub:
git clone https://github.com/embeddedboys/pico_i8080_templateFreeRTOS
Section titled “FreeRTOS”仓库链接:https://gitee.com/embeddedboys/pico_dm_1p5623_freertos
Gitee:
git clone https://gitee.com/embeddedboys/pico_dm_1p5623_freertosGithub:
git clone https://github.com/embeddedboys/pico_dm_1p5623_freertosESP32-S3
Section titled “ESP32-S3”ESP32-S3 是一款集成了完整 WiFi 和蓝牙功能的芯片。该工程演示了如何在 ESP32-S3 上驱动 LCD 屏幕,仅使用了 LVGL 内置的 demo。
由于文档较长,具体内容请参阅移植教程。
Linux 工程演示了如何通过 libgpiod 在 Linux 系统上驱动 8080 LCD,默认运行在 Orange Pi Zero 上。
由于文档较长,具体内容请参阅移植教程。
Micropython (Python)
Section titled “Micropython (Python)”该工程演示了如何在 Micropython 上驱动 LCD。
Gitee:
git clone https://gitee.com/embeddedboys/pico_dm_1p5623_micropythonGithub:
git clone https://github.com/embeddedboys/pico_dm_1p5623_micropythonArduino
Section titled “Arduino”该工程演示了如何在 Arduino 框架上驱动 LCD,默认使用了 LVGL 内置的 demo。
Gitee:
git clone https://gitee.com/embeddedboys/pico_dm_1p5623_arduinoGithub:
git clone https://github.com/embeddedboys/pico_dm_1p5623_arduinoembedded_graphics (Rust)
Section titled “embedded_graphics (Rust)”Gitee:
git clone https://gitee.com/embeddedboys/pico_dm_1p5623_embedded_graphicsGithub:
git clone https://github.com/embeddedboys/pico_dm_1p5623_embedded_graphicsSlint (Rust)
Section titled “Slint (Rust)”Gitee:
git clone https://gitee.com/embeddedboys/pico_dm_1p5623_slintGithub:
git clone https://github.com/embeddedboys/pico_dm_1p5623_slintZephyr
Section titled “Zephyr”Gitee:
git clone https://gitee.com/embeddedboys/pico_dm_1p5623_zephyrGithub:
git clone https://github.com/embeddedboys/pico_dm_1p5623_zephyrGitee:
git clone https://gitee.com/embeddedboys/pico_dm_1p5623_haglGithub:
git clone https://github.com/embeddedboys/pico_dm_1p5623_haglGitee:
git clone https://gitee.com/embeddedboys/pico_dm_1p5623_awtkGithub:
git clone https://github.com/embeddedboys/pico_dm_1p5623_awtk