91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

深入了解U8g2與LVGL圖形庫(kù)

安芯教育科技 ? 來(lái)源:嵌入式工程師成長(zhǎng)日記 ? 2025-02-13 11:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

以下文章來(lái)源于嵌入式工程師成長(zhǎng)日記,作者嵌入式工程師成長(zhǎng)

單片機(jī)開(kāi)發(fā)領(lǐng)域,圖形顯示功能變得越來(lái)越重要。無(wú)論是工業(yè)控制界面、智能家居設(shè)備,還是手持儀器儀表,都需要一個(gè)高效且易用的圖形庫(kù)來(lái)實(shí)現(xiàn)豐富的可視化效果。U8g2 和 LVGL 就是其中兩款備受關(guān)注的圖形庫(kù),它們各有特點(diǎn),適用于不同的應(yīng)用場(chǎng)景。今天,我們就來(lái)深入了解這兩個(gè)圖形庫(kù)。

一、U8g2 圖形庫(kù)

(一)簡(jiǎn)介

U8g2 是一個(gè)用于嵌入式設(shè)備的單色圖形庫(kù),由 olikraus 開(kāi)發(fā)并開(kāi)源。它的設(shè)計(jì)目標(biāo)是占用資源少,易于移植,支持多種顯示控制器通信接口,包括OLED、LCD等。U8g2 可以在各種單片機(jī)平臺(tái)上運(yùn)行,如 Arduino、STM32 等。

(二)應(yīng)用場(chǎng)景

U8g2適用于對(duì)資源要求較低、顯示內(nèi)容相對(duì)簡(jiǎn)單的場(chǎng)景。例如,小型智能家居設(shè)備的狀態(tài)顯示、工業(yè)傳感器的參數(shù)展示、簡(jiǎn)單的手持儀器儀表等。這些場(chǎng)景通常只需要顯示一些基本的文本、圖標(biāo)和簡(jiǎn)單圖形,U8g2可以輕松勝任,并且由于其資源占用少,不會(huì)給單片機(jī)帶來(lái)太大的負(fù)擔(dān)。

(四)U8g2 的優(yōu)勢(shì)與局限

1. 優(yōu)勢(shì)

資源占用少,這使得它可以在一些資源極其有限的單片機(jī)上運(yùn)行,比如一些 8 位單片機(jī),在這類單片機(jī)上其他圖形庫(kù)可能無(wú)法正常工作,而 U8g2 卻能穩(wěn)定運(yùn)行,為開(kāi)發(fā)者提供基本的圖形顯示功能。

移植性強(qiáng),支持多種顯示控制器和通信接口,無(wú)論是常見(jiàn)的 I2C 接口的 OLED 屏,還是 SPI 接口的 LCD 屏,U8g2 都能很好地適配,方便開(kāi)發(fā)者在不同的硬件平臺(tái)上進(jìn)行開(kāi)發(fā)。

簡(jiǎn)單易用,其 API 函數(shù)簡(jiǎn)潔明了,對(duì)于初學(xué)者來(lái)說(shuō),很容易上手。開(kāi)發(fā)者可以快速地實(shí)現(xiàn)文本和簡(jiǎn)單圖形的顯示,降低了開(kāi)發(fā)的門檻。

2. 局限

單色顯示,只能實(shí)現(xiàn)單色的圖形和文本顯示,這在一些對(duì)顯示效果要求較高的場(chǎng)景中顯得力不從心,無(wú)法滿足用戶對(duì)于彩色、豐富視覺(jué)效果的需求。

功能相對(duì)單一,缺乏復(fù)雜的控件和動(dòng)畫效果,對(duì)于需要實(shí)現(xiàn)交互性強(qiáng)、界面復(fù)雜的應(yīng)用場(chǎng)景,U8g2 無(wú)法提供足夠的支持。

二、LVGL 圖形庫(kù)

(一)簡(jiǎn)介

LVGL(LittlevGL)是一個(gè)開(kāi)源的、功能豐富的嵌入式圖形庫(kù),具有現(xiàn)代的圖形用戶界面(GUI)設(shè)計(jì)能力。它支持多種顯示分辨率和顏色深度,提供了豐富的控件,如按鈕、滑塊、圖表等,并且具有動(dòng)畫效果和觸摸支持。LVGL 可以運(yùn)行在各種單片機(jī)和微控制器上,通過(guò)合理的配置,可以在資源有限的設(shè)備上實(shí)現(xiàn)復(fù)雜的圖形界面。

(二)應(yīng)用場(chǎng)景

LVGL 適用于對(duì)顯示效果要求較高、需要實(shí)現(xiàn)復(fù)雜交互界面的場(chǎng)景。例如,工業(yè)自動(dòng)化設(shè)備的操作面板、智能家居中控系統(tǒng)、車載信息娛樂(lè)系統(tǒng)等。這些場(chǎng)景需要展示豐富的信息,提供良好的用戶交互體驗(yàn),LVGL 的豐富控件和動(dòng)畫效果可以滿足這些需求。

(三)LVGL 的優(yōu)勢(shì)與局限

1. 優(yōu)勢(shì)

功能豐富,提供了各種各樣的控件,如按鈕、滑塊、圖表、列表框等,還支持動(dòng)畫效果和觸摸交互,能夠創(chuàng)建出非常復(fù)雜和美觀的用戶界面,滿足不同用戶的需求。

彩色顯示支持,支持多種顏色深度,可以實(shí)現(xiàn)豐富的色彩顯示,大大提升了顯示效果,使界面更加生動(dòng)和吸引人。

可擴(kuò)展性強(qiáng),開(kāi)發(fā)者可以根據(jù)自己的需求自定義控件和樣式,并且可以方便地集成其他功能模塊,如文件系統(tǒng)、網(wǎng)絡(luò)通信等。

2. 局限

資源占用大,由于其功能豐富,需要較多的內(nèi)存和處理器性能來(lái)運(yùn)行。在一些資源有限的單片機(jī)上,可能會(huì)出現(xiàn)運(yùn)行緩慢甚至無(wú)法運(yùn)行的情況。

學(xué)習(xí)成本高,LVGL 的 API 較為復(fù)雜,對(duì)于初學(xué)者來(lái)說(shuō),需要花費(fèi)較多的時(shí)間來(lái)學(xué)習(xí)和掌握,尤其是在處理復(fù)雜的事件和樣式設(shè)置時(shí),容易出現(xiàn)錯(cuò)誤。

三、U8g2 與 LVGL 的區(qū)別

(一)資源占用

U8g2的設(shè)計(jì)初衷是占用最少的資源,它只支持單色顯示,對(duì)內(nèi)存和處理器性能的要求較低。而 LVGL 功能更強(qiáng)大,支持彩色顯示、豐富的控件和動(dòng)畫效果,因此資源占用相對(duì)較高,需要更多的內(nèi)存和處理器性能來(lái)運(yùn)行。

(二)顯示效果

U8g2 只能實(shí)現(xiàn)單色的圖形和文本顯示,顯示效果相對(duì)簡(jiǎn)單。LVGL 則可以實(shí)現(xiàn)彩色顯示、漸變效果、動(dòng)畫等復(fù)雜的視覺(jué)效果,提供更加美觀和現(xiàn)代的用戶界面。

(三)開(kāi)發(fā)難度

U8g2 的 API 相對(duì)簡(jiǎn)單,易于學(xué)習(xí)和使用,適合初學(xué)者和對(duì)顯示要求不高的項(xiàng)目。LVGL 的功能豐富,API 較為復(fù)雜,需要花費(fèi)更多的時(shí)間來(lái)學(xué)習(xí)和掌握,但它可以實(shí)現(xiàn)更高級(jí)的功能和交互效果。

(四)應(yīng)用場(chǎng)景

如前面所述,U8g2 適用于資源有限、顯示內(nèi)容簡(jiǎn)單的場(chǎng)景,而 LVGL 適用于對(duì)顯示效果和交互性要求較高的復(fù)雜場(chǎng)景。

四、實(shí)際項(xiàng)目中的選擇與優(yōu)化

(一)選擇依據(jù)

在實(shí)際項(xiàng)目中,選擇 U8g2 還是 LVGL 需要綜合考慮多個(gè)因素。如果項(xiàng)目使用的單片機(jī)資源有限,如內(nèi)存較小、處理器性能較低,并且顯示內(nèi)容主要是簡(jiǎn)單的文本和圖標(biāo),那么 U8g2 是更好的選擇。例如,一個(gè)基于 8 位單片機(jī)的溫濕度傳感器顯示模塊,只需要顯示當(dāng)前的溫度和濕度值,使用 U8g2 就可以輕松實(shí)現(xiàn)。

如果項(xiàng)目對(duì)顯示效果和交互性有較高的要求,并且單片機(jī)有足夠的資源支持,那么 LVGL 更適合。比如,一個(gè)智能家居中控系統(tǒng),需要顯示各種設(shè)備的狀態(tài)、提供觸摸操作界面,并且要有美觀的界面設(shè)計(jì),LVGL 可以滿足這些需求。

(二)優(yōu)化策略

1. U8g2 優(yōu)化

字體選擇選擇合適的字體可以減少內(nèi)存占用。U8g2提供了多種字體,一些字體占用的內(nèi)存較小,可以根據(jù)實(shí)際需求進(jìn)行選擇。

頁(yè)面管理優(yōu)化合理安排頁(yè)面內(nèi)容,減少不必要的重繪操作,提高顯示效率。

2. LVGL 優(yōu)化

內(nèi)存管理合理分配和管理內(nèi)存,避免內(nèi)存泄漏??梢酝ㄟ^(guò)調(diào)整顯示緩沖區(qū)的大小、優(yōu)化控件的使用等方式來(lái)減少內(nèi)存占用。

幀率控制根據(jù)實(shí)際需求調(diào)整界面的刷新幀率,避免過(guò)高的幀率導(dǎo)致處理器負(fù)載過(guò)大。

五、未來(lái)發(fā)展趨勢(shì)

(一)U8g2

隨著物聯(lián)網(wǎng)的發(fā)展,越來(lái)越多的小型設(shè)備需要具備簡(jiǎn)單的顯示功能。U8g2由于其資源占用少、易于移植的特點(diǎn),將在這些小型設(shè)備中繼續(xù)發(fā)揮重要作用。同時(shí),開(kāi)發(fā)者可能會(huì)對(duì)U8g2進(jìn)行進(jìn)一步的優(yōu)化和擴(kuò)展,以滿足更多的應(yīng)用需求。

(二)LVGL

隨著單片機(jī)性能的不斷提升,LVGL的應(yīng)用場(chǎng)景將越來(lái)越廣泛。未來(lái),LVGL 可能會(huì)進(jìn)一步優(yōu)化其性能,減少資源占用,同時(shí)增加更多的功能和控件,提供更加便捷的開(kāi)發(fā)工具,使開(kāi)發(fā)者能夠更加輕松地創(chuàng)建出高質(zhì)量的圖形界面。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 圖形庫(kù)
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    9216
  • LVGL
    +關(guān)注

    關(guān)注

    2

    文章

    124

    瀏覽量

    4545
  • u8g2
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    2342

原文標(biāo)題:?jiǎn)纹瑱C(jī)STM32圖形庫(kù):U8g2 與 LVGL 的深度剖析

文章出處:【微信號(hào):Ithingedu,微信公眾號(hào):安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    深入了解Renesas E1/E20 Emulator:從規(guī)范到應(yīng)用

    深入了解Renesas E1/E20 Emulator:從規(guī)范到應(yīng)用 引言 在微控制器(MCU)的開(kāi)發(fā)過(guò)程中,調(diào)試工具起著至關(guān)重要的作用。Renesas的E1/E20 Emulator就是一款強(qiáng)大
    的頭像 發(fā)表于 02-10 15:25 ?146次閱讀

    深入了解TCA8424:低電壓8x16鍵盤掃描器的技術(shù)剖析

    深入了解TCA8424:低電壓8x16鍵盤掃描器的技術(shù)剖析 在當(dāng)今的電子設(shè)備中,鍵盤輸入是不可或缺的一部分。而TCA8424作為一款低電壓8x16鍵盤掃描器,憑借其獨(dú)特的特性和功能,在眾多設(shè)備中得到
    的頭像 發(fā)表于 01-30 17:20 ?630次閱讀

    深入了解SN74LVC1G66單雙邊模擬開(kāi)關(guān)

    深入了解SN74LVC1G66單雙邊模擬開(kāi)關(guān) 在電子設(shè)計(jì)領(lǐng)域,模擬開(kāi)關(guān)是一種常見(jiàn)且關(guān)鍵的元件,它在信號(hào)路由、切換等方面發(fā)揮著重要作用。今天我們就來(lái)詳細(xì)探討一下德州儀器(TI)的SN74LVC1G
    的頭像 發(fā)表于 01-16 10:35 ?394次閱讀

    【開(kāi)源】WeGUI高效多色圖形庫(kù)

    以下文章內(nèi)容由CW32生態(tài)社區(qū)用戶口服提供: https://github.com/KOUFU-DIY/WeGui_RGB WeGui是以高執(zhí)行效率為特色以單色驅(qū)動(dòng)為主的高效圖形庫(kù), 功能與U8G2
    的頭像 發(fā)表于 12-29 13:12 ?3774次閱讀
    【開(kāi)源】WeGUI高效多色<b class='flag-5'>圖形</b><b class='flag-5'>庫(kù)</b>

    瑞薩電子攜手LVGL PRO推進(jìn)嵌入式圖形用戶界面開(kāi)發(fā)

    隨著嵌入式設(shè)備對(duì)用戶體驗(yàn)要求的不斷提升,圖形用戶界面(GUI)成為產(chǎn)品開(kāi)發(fā)越來(lái)越重要的一環(huán)。作為目前最流行的開(kāi)源嵌入式圖形庫(kù)之一的LVGL,最近就推出了自己的商業(yè)化專業(yè)UI編輯器
    的頭像 發(fā)表于 11-21 10:23 ?1554次閱讀
    瑞薩電子攜手<b class='flag-5'>LVGL</b> PRO推進(jìn)嵌入式<b class='flag-5'>圖形</b>用戶界面開(kāi)發(fā)

    【CPKCOR-RA8D1】2、運(yùn)行LVGL

    (g_lvgl_port_ctrl.p_lv_display); #else lv_display_set_default(disp); #endif } 2、dsi_configuration_data.c 擴(kuò)展板上屏
    發(fā)表于 10-10 22:10

    【上海晶珩睿莓1開(kāi)發(fā)板試用體驗(yàn)】移植LVGL9.3并使用32位色進(jìn)行顯示

    在之前的開(kāi)發(fā)板試用帖子中,我使用Linux開(kāi)發(fā)板來(lái)移植LVGL9.1,而LVGL9系版本目前最新更新到9.3(master分支,release版本),在最新版本中加入了3D圖形的初步支
    發(fā)表于 09-18 00:52

    RA-Eco-RA6M4部分功能測(cè)評(píng)3

    RA-Eco-RA6M4開(kāi)發(fā)板實(shí)戰(zhàn):基于I2C驅(qū)動(dòng)OLED與u8g2圖形庫(kù)移植實(shí)現(xiàn) 在嵌入式開(kāi)發(fā)中,OLED屏幕因功耗低、對(duì)比度高、響應(yīng)速度快等優(yōu)勢(shì),常被用于設(shè)備狀態(tài)顯示、數(shù)據(jù)可視化等
    發(fā)表于 09-05 20:47

    【RA-Eco-RA6M4開(kāi)發(fā)板評(píng)測(cè)】2、I2C外設(shè)驅(qū)動(dòng)OLED屏幕和移植u8g2

    ://wiki.seeedstudio.com/Grove-OLED-Display-0.96-SSD1315/ u8g2移植簡(jiǎn)述 在SeeedStudio官方的使用手中,在Arduino平臺(tái)上使用u8g2圖形
    發(fā)表于 07-23 13:51

    10分鐘上手睿擎平臺(tái)GUI開(kāi)發(fā):第一個(gè)LVGL圖形應(yīng)用

    LVGL開(kāi)源圖形庫(kù)為嵌入式系統(tǒng)提供了高效的GUI設(shè)計(jì)解決方案,為開(kāi)發(fā)者提供了直觀且易于使用的界面設(shè)計(jì)環(huán)境。LVGL不僅資源占用低,更擁有全面的功能和豐富的文檔資料,使得GUI設(shè)計(jì)變得簡(jiǎn)
    的頭像 發(fā)表于 06-06 18:41 ?2777次閱讀
    10分鐘上手睿擎平臺(tái)GUI開(kāi)發(fā):第一個(gè)<b class='flag-5'>LVGL</b><b class='flag-5'>圖形</b>應(yīng)用

    從“代碼迷宮”到“視覺(jué)藍(lán)圖”——LVGL的嵌入式UI設(shè)計(jì)哲學(xué)!

    ”。 ? 2016年,匈牙利工程師Gábor Kiss-Vámos受夠了嵌入式開(kāi)發(fā)中臃腫的圖形庫(kù),決定自己動(dòng)手。于是,LVGL
    的頭像 發(fā)表于 05-12 16:33 ?1253次閱讀
    從“代碼迷宮”到“視覺(jué)藍(lán)圖”——<b class='flag-5'>LVGL</b>的嵌入式UI設(shè)計(jì)哲學(xué)!

    關(guān)于stm32,u8g2菜單之間切換(三)用u8g2寫一個(gè)菜單無(wú)限左右循環(huán)

    u8g2_DrawXBMP();? 函數(shù)畫圖需要的是我們圖片的地址而不是整個(gè)圖片數(shù)組。 下面是源碼: ? int ui_run(int *a,int *a_tag,uint8_
    的頭像 發(fā)表于 03-11 09:10 ?1371次閱讀

    關(guān)于stm32,u8g2菜單之間切換(三)寫u8g2的一些必要函數(shù)

    要想stm應(yīng)用u8g2繪制界面需要對(duì)u8g2原函數(shù) u8g2_Setup_ssd1306_i2c_128x128_f (u8g2_t *u8g2
    的頭像 發(fā)表于 03-07 12:53 ?1235次閱讀
    關(guān)于stm32,<b class='flag-5'>u8g2</b>菜單之間切換(三)寫<b class='flag-5'>u8g2</b>的一些必要函數(shù)

    關(guān)于stm32,u8g2菜單之間切換(1)

    在移植U8g2庫(kù)
    的頭像 發(fā)表于 03-05 16:43 ?1151次閱讀

    關(guān)于stm32,u8g2菜單之間切換(二)u8g2的移植

    移植是基于stm32cubeide,oled屏是1306驅(qū)動(dòng)128x64的。接口用iic軟件模擬,hal庫(kù)iic硬件貌似有bug。 1,先在網(wǎng)上下載u8g2包。 2,解壓后找到源文件文件夾。 3
    的頭像 發(fā)表于 03-04 09:52 ?1728次閱讀
    關(guān)于stm32,<b class='flag-5'>u8g2</b>菜單之間切換(二)<b class='flag-5'>u8g2</b>的移植