LVGL|lvgl中文手冊(lvgl中文文檔教程)

lvgl官方的教程是英文的,這個是我在做項目時根據lvgl官方文檔做出來的lvgl中文文檔(持續更新維護),不僅僅只是生硬照搬lvgl官方文檔的翻譯,同時總結了我們在實際開發中遇到的各種細節,讓這個文檔更加適合我們在實際開發中的需求。

@

LVGL官方簡介

The first version of LVGL was published on GitHub in 2016. As it usually happens it was started as a one-man project. Since then almost 100 contributors joined the development and LVGL became one of the most popular embedded graphics libraries. [1]

Nowadays LVGL is downloaded every 5 minutes and it’s among the most popular C libraries on GitHub. Besides attracting thousands of users LVGL became engaging for huge companies too who offer LVGL in their ecosystem. In 2020 we established LVGL LLC to provide a solid background for the library and to develop new ways to aid UI development.[1:1]


LVGL 的第一個版本於 2016 年在 GitHub 上發佈。 像一般的開源項目的那樣,它是作為一個人的項目開始的。 從那時起,陸續有近 100 名貢獻者參與了項目開發,使得 LVGL 逐漸成為最受歡迎的嵌入式圖形庫之一。

現在 LVGL 每 5 分鐘就有一次下載量,她是 GitHub 上最受歡迎的 C 庫之一。 除了吸引成千上萬的用戶之外,LVGL 還吸引了在其生態系統中的一些大公司。 2020 年,我們成立了 LVGL LLC,為庫提供堅實的背景,並開發新的方法來幫助 UI 開發。

LVGL之前叫 LittlevGL,後來作者將其更名為 LVGL。
LVGL的項目作者是來自匈牙利首都布達佩斯的 Gábor Kiss-Vámosi 。Kiss 在2009年開始寫 LVGL(LittlevGL),2016年將其重寫並發佈在 GitHub 上。

基於lvgl V7.11.0 編寫的103桌面

在這裡插入圖片描述
基於 lvgl V7.11.0 該項目實現了以下功能:

  • 模仿 windows10 風格的文件瀏覽器
  • 時鐘
  • 二維碼生成器
  • 系統說明
  • 溫濕度採集
  • 2048小遊戲
  • 音樂播放器
  • 貪吃蛇小遊戲
  • 計算器
  • 寄存器位查看工具
  • 系統主題切換
  • 板載硬件測試

源碼獲取://download.100ask.org/boards/St/100ask_stm32f103/index.html

基於lvgl V7.11.0 編寫的平板桌面

在這裡插入圖片描述
該GUI基於 800×600的LCD屏幕上開發,去年就已經完成,目前已經將其lvgl庫更新至lvgl最新的穩定版本 V7.11.0,點擊這裡查看視頻演示效果

基於 lvgl V7.11.0 該項目實現了以下功能:

  • 圖庫
  • 二維碼生成器
  • 文件瀏覽器
  • 集成lvgl官方demo:圖片編輯器
  • 集成lvgl官方demo:音樂播放器
  • 集成lvgl官方demo:打印機
  • 集成lvgl官方demo:壓力測試
  • 2048小遊戲
  • TODO…

源碼獲取://download.100ask.org/boards/Nxp/100ask_imx6ull_pro/index.html

什麼是LVGL

lvgl(輕巧而多功能的圖形庫)是一個免費的開放源代碼圖形庫,它提供創建具有易於使用的圖形元素,精美的視覺效果和低內存佔用的嵌入式GUI所需的一切。

LVGL的主要特性

LVGL的主要特性
1 功能強大的構建塊,例如按鈕,圖表,列表,滑塊,圖像等。
2 帶有動畫,抗鋸齒,不透明,平滑滾動的高級圖形
3 各種輸入設備,例如觸摸板,鼠標,鍵盤,編碼器等
4 支持UTF-8編碼的多語言
5 多顯示器支持,如TFT,單色顯示器
6 完全可定製的圖形元素
7 獨立於任何微控制器或顯示器使用的硬件
8 可擴展以使用很少的內存(64 kB閃存,16 kB RAM)進行操作
9 操作系統,支持外部存儲器和GPU,但不是必需的
10 單幀緩衝區操作,即使具有高級圖形效果
11 用C語言編寫,以實現最大的兼容性(與C ++兼容)
12 模擬器可在沒有嵌入式硬件的PC上進行嵌入式GUI設計
13 可移植到MicroPython
14 可快速上手的教程、示例、主題
15 豐富的文檔教程
16 在MIT許可下免費和開源

硬件要求

基本上,每個現代控制器(肯定必須要能夠驅動顯示器)都適合運行LVGL。LVGL的最低運行要求很低:

lvgl的硬件要求
處理器 16、32或64位微控制器或處理器
時鐘頻率 最低 16 MHz 時鐘頻率
Flash/ROM 對於非常重要的組件要求 >64 kB(建議 > 180 kB)
RAM 1.靜態 RAM 使用量:~2 kB,取決於所使用的功能和對象類型- 堆棧: > 2kB(建議 > 8 kB)
2.動態數據(堆):> 2 KB(如果使用多個對象,則建議 > 16 kB)。由 lv_conf.h 中的 LV_MEM_SIZE 宏進行設置。
3.顯示緩衝區:> 「水平分辨率」像素(建議 > 10× 「水平分辨率」 )
4.MCU 或外部顯示控制器中的一幀緩衝區
編譯器 C99或更高版本的編譯器
技術棧 具備基本的C(或C ++)知識:指針,結構,回調…

LVGL中文手冊

lvgl官方的教程是英文的,這個是我在做項目時順便做出來的中文教程站點(持續更新維護),不僅僅只是照搬lvgl官方文檔的翻譯,同時總結了我們在實際開發中遇到的各種細節,讓這個文檔更加適合我們在實際開發中的需求。

lvgl中文教程主頁


  1. //lvgl.io/about ↩︎ ↩︎