lvgl官方的教程是英文的,這個是我在做項目時根據lvgl官方文檔做出來的lvgl中文文檔(持續更新維護),不僅僅只是生硬照搬lvgl官方文檔的翻譯,同時總結了我們在實際開發中遇到的各種細節,讓這個文檔更加適合我們在實際開發中的需求。
LVGL系列教程文章列表
- LVGL|lvgl v8.x教程(lvgl中文文檔教程,開始更新lvgl v8.x文檔教程,超詳細!)
- LVGL|將lvgl工程從lvgl v7升級到lvgl v8版本
- LVGL|lvgl應用開發之巧用圖層編寫模式對話框
- LVGL|基於lvgl實現2048游戲(純c語言實現)
- freeRTOS&LVGL|在使用freertos時如何為lvgl配置心跳和任務管理器
- Raspberry pi pico|樹莓派-pico驅動ILI9341+lvgl(c語言實現)
- LVGL|基於100ASK_STM32_F103ZET6開發板的lvgl(v7.11.0)綜合例程
- 將lvlg v8.0移植到STM32F103開發板教程(TODO)
- 將lvlg v8.0移植到 IMX6ULL 開發板教程(TODO)
- 將lvlg v8.0移植到 STM32MP157 開發板教程(TODO)
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 編寫的STM32F103 GUI
基於 lvgl V7.11.0 該項目實現了以下功能:
- 模仿 windows10 風格的文件瀏覽器
- 時鍾
- 二維碼生成器
- 系統說明
- 溫濕度采集
- 2048小游戲
- 音樂播放器
- 貪吃蛇小游戲
- 計算器
- 寄存器位查看工具
- 系統主題切換
- 板載硬件測試
源碼獲取:http://download.100ask.org/boards/St/100ask_stm32f103/index.html
基於lvgl V7.11.0 編寫的Linux開發板GUI
該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官方文檔的翻譯,同時總結了我們在實際開發中遇到的各種細節,讓這個文檔更加適合我們在實際開發中的需求。V7.11中文已經更新完成,v8.1中文更新進行中
- lvgl官方英文原版教程: https://docs.lvgl.io
- lvgl中文教程(中文手冊):http://lvgl.100ask.net http://lvgl.100ask.org