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

挨踢民工biubiu發表於2021-07-16

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小遊戲
  • 音樂播放器
  • 貪吃蛇小遊戲
  • 計算器
  • 暫存器位檢視工具
  • 系統主題切換
  • 板載硬體測試

原始碼獲取:http://download.100ask.org/boards/St/100ask_stm32f103/index.html

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

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

基於 lvgl V7.11.0 該專案實現了以下功能:

  • 相簿
  • 二維碼生成器
  • 檔案瀏覽器
  • 整合lvgl官方demo:圖片編輯器
  • 整合lvgl官方demo:音樂播放器
  • 整合lvgl官方demo:印表機
  • 整合lvgl官方demo:壓力測試
  • 2048小遊戲
  • TODO...

原始碼獲取:http://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. https://lvgl.io/about ↩︎ ↩︎

相關文章