在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

LVGL開發入門教程

瑞薩MCU小百科 ? 來源:瑞薩MCU小百科 ? 2025-01-03 15:23 ? 次閱讀

第12章 LVGL開發入門

12.1 LVGL開發簡介

12.1.1 LVGL介紹

LVGL(Light and Versatile Graphics Library)是一個開源的嵌入式圖形庫,由Gábor Kiss-Vámosi于2016年創建,遵守MIT協議。目前由來自世界各地的志愿者共同維護和開發。

LVGL

LVGL具有輕量級、多功能、靈活和可移植等特點,可以幫助開發者快速和方便地創建美觀和功能豐富的GUI。LVGL適用于各種嵌入式平臺,并且支持多種操作系統,例如Linux、Windows、RTOS等,可運行于多種硬件板卡上。LVGL還支持多種不同分辨率的顯示器、多種接口的觸摸屏。LVGL還提供了多種語言的綁定,例如Python、Micropython、JavaScript等,并提供多種開發工具,例如模擬器、視覺化設計器、字體轉換器等。

LVGL支持多種控件:圓弧、動畫圖像、進度條、按鈕、按鈕矩陣、日歷、圖表、畫布、復選框、下拉列表、圖象、圖像按鈕、鍵盤、標簽、線條、菜單、消息框、滾輪、標尺、滑動條、跨度、旋轉框、旋轉器、開關、表、文本框、平鋪視圖、窗口等。使用LVGL可以制作風格多樣的界面,比如:

12.1.2 LVGL內部機制

使用LVGL創建出各個圖標并在屏幕上顯示之后,以按鈕圖標為例,它如何及時地響應用戶的點擊操作?以溫濕度圖標為例,如何及時地更新它的數據?LVGL使用“timer”來實現。

操作圖標時,要先點擊觸摸屏。我們會為觸摸屏創建一個輸入設備(“lv_indev_t”),并為它創建一個timer,通過這個timer周期性地讀取鼠標的輸入數據。以“packagesLVGL-v8.3.11 estssrclv_test_init.c”為例,注冊鼠標設備時,內部注冊了一個timer:

acb63e48-c988-11ef-9310-92fbcf53809c.png

LVGL的主循環會周期性地調用上述的“lv_indev_read_timer_cb”函數,它里面將調用“lv_test_mouse_read_cb”得到鼠標數據,然后發送給被選中的圖標。

假設有圖標被用來顯示溫濕度值,我們也會為這個圖標添加一個timer,通過這個timer周期性地讀取溫濕度值并更新圖標。比如:

acd28cd8-c988-11ef-9310-92fbcf53809c.png

LVGL的主循環會周期性地調用上述的“label_speed_timer”函數,它里面將讀取溫濕度傳感器的數值,并更新“label_speed”的文字。

這些定時器都是在LVGL的主循環里被調用的,主循環如何得到這些定時器?它們都被放入一個鏈表里:

acf1e326-c988-11ef-9310-92fbcf53809c.png

怎么處理_lv_timer_ll鏈表里的各個timer?LVGL里有一個循環,代碼如下:

ad0766b0-c988-11ef-9310-92fbcf53809c.png

12.2 開發第1個LVGL程序

本節課程演示如何編譯、運行第1個LVGL程序。

12.2.1 下載源碼

這些源碼可以在網盤資料中看到,你可以不必自己下載:

ad153e52-c988-11ef-9310-92fbcf53809c.png

RemiPi上運行的是Linux系統,支持的顯示設備是基于Framebuffer的。所以,可以從LVGL官網下載“lv_port_linux_frame_buffer”:它是基于Linux的、支持Framebuffer的示例程序。

如下圖所示下載v9.0版本:

ad482eca-c988-11ef-9310-92fbcf53809c.png

在“lv_port_linux_frame_buffer”里,含有編譯工具、LVGL 的源碼鏈接(“如上圖步驟4所示,就是LVGL源碼鏈接”)。“lv_port_linux_frame_buffer”里,“lvgl”子目錄是空的,我們需要下載LVGL v9.1的源碼放到“lvgl”目錄里(LVGL9.0有些問題)。點擊上圖步驟4的“lvgl”,如下圖操作:

ad65b45e-c988-11ef-9310-92fbcf53809c.png

把“lv_port_linux_frame_buffer-release-v9.0.zip”、“lvgl-9.1.0.zip”分別解壓后,得到“lv_port_linux_frame_buffer-release-v9.0”、“lvgl-9.1.0”,把后者目錄下的所有文件復 制進“lv_port_linux_frame_buffer-release-v9.0/lvgl”目錄下。

在Ubuntu下可以執行以下命令解壓:

左右滑動查看完整內容

$ unzip lv_port_linux_frame_buffer-release-v9.0.zip
$ unzip lvgl-9.1.0.zip
$ mv lvgl-9.1.0/* lv_port_linux_frame_buffer-release-v9.0/lvgl/

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5095

    文章

    19189

    瀏覽量

    307957
  • 開源
    +關注

    關注

    3

    文章

    3412

    瀏覽量

    42737
  • 圖形庫
    +關注

    關注

    0

    文章

    18

    瀏覽量

    9049
  • LVGL
    +關注

    關注

    1

    文章

    91

    瀏覽量

    3122

原文標題:LVGL開發入門 - RZ MPU工業控制教程連載(45)

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    FPGA入門教程

    FPGA入門教程 FPGA 入門教程 1 .數字電路設計入門 2 .FPGA 簡介 3 .FPGA 開發流程 4 .RTL設計 5 .QuartusⅡ設計實例 6.ModelS
    發表于 08-11 11:40

    ALIENTEK MiniSTM32開發入門教程20101122

    ALIENTEK MiniSTM32開發入門教程20101122ALIENTEK MiniSTM32開發入門教程20101122.pdf
    發表于 07-04 05:23

    ALIENTEK MiniSTM32開發入門教程20101122

    ALIENTEK MiniSTM32開發入門教程20101122ALIENTEK MiniSTM32開發入門教程20101122.pdf
    發表于 07-09 01:08

    LittleVGL (LVGL)入門知識

    LittleVGL (LVGL)干貨入門教程四之制作和使用中文漢字字庫前言:閱讀前,請確保你至少擁有以下條件:已實現顯示API(教程一已實現, 鏈接:LittleVGL (LVGL)入門教程
    發表于 07-15 10:06

    LVGL的文件系統(fs)API對接

    LittleVGL (LVGL)干貨入門教程三之LVGL的文件系統(fs)API對接。前言:閱讀前,請確保你擁有以下條件:你的項目已經完成“FatFS”的移植(例如你可以用FatFS進行SD卡的文件
    發表于 08-09 08:38

    LVGL的輸入設備API對接

    LittleVGL (LVGL)干貨入門教程二之LVGL的輸入設備(indev)API對接前言:閱讀前,請確保你擁有以下條件:你已經完成“顯示API”的移植。你已經實現了一個屏幕的觸摸驅動 (如果你
    發表于 01-18 10:12

    FPGA/SOPC開發快速入門教程

    FPGA/SOPC開發快速入門教程
    發表于 08-06 16:56 ?79次下載
    FPGA/SOPC<b class='flag-5'>開發</b>快速<b class='flag-5'>入門教程</b>

    FPGA/SOPC開發快速入門教程_elecfans.com

    FPGA/SOPC開發快速入門教程_elecfans.com
    發表于 11-09 14:02 ?18次下載

    硬件工程師入門教程

    硬件工程師入門教程硬件工程師入門教程硬件工程師入門教程硬件工程師入門教程硬件工程師入門教程
    發表于 01-05 15:53 ?258次下載

    UG1926:ADuCM420開發系統:入門教程

    UG1926:ADuCM420開發系統:入門教程
    發表于 03-22 15:48 ?5次下載
    UG1926:ADuCM420<b class='flag-5'>開發</b>系統:<b class='flag-5'>入門教程</b>

    UG-481:ADuCRF101開發系統入門教程

    UG-481:ADuCRF101開發系統入門教程
    發表于 04-30 10:04 ?8次下載
    UG-481:ADuCRF101<b class='flag-5'>開發</b>系統<b class='flag-5'>入門教程</b>

    UG-829:ADuCM310開發系統入門教程

    UG-829:ADuCM310開發系統入門教程
    發表于 05-15 14:09 ?7次下載
    UG-829:ADuCM310<b class='flag-5'>開發</b>系統<b class='flag-5'>入門教程</b>

    UG-457:ADuCM360開發系統入門教程

    UG-457:ADuCM360開發系統入門教程
    發表于 05-24 08:29 ?23次下載
    UG-457:ADuCM360<b class='flag-5'>開發</b>系統<b class='flag-5'>入門教程</b>

    UG-910:ADuCM322開發系統入門教程

    UG-910:ADuCM322開發系統入門教程
    發表于 05-26 18:04 ?12次下載
    UG-910:ADuCM322<b class='flag-5'>開發</b>系統<b class='flag-5'>入門教程</b>

    VScode嵌入式開發入門教程

    VScode嵌入式開發入門教程1.VScode進行單片機嵌入式開發教程2.單片機開發環境的搭建3.相關技巧與設置
    發表于 11-03 09:51 ?44次下載
    VScode嵌入式<b class='flag-5'>開發</b>之<b class='flag-5'>入門教程</b>
    主站蜘蛛池模板: 亚洲成人网在线 | 美女视频网站色软件免费视频 | 在线观看色视频网站 | 亚洲免费观看在线视频 | 在线播放12p | 五月天婷婷伊人 | 网站国产| 色多多网站 | 中文字幕在线看精品乱码 | 亚洲欧洲一二三区 | 狠狠色丁香婷婷 | 免费一级毛片无毒不卡 | 久久天天躁夜夜躁狠狠躁2020 | 天天干影院 | 日本在线不卡一区 | 人人射人人干 | 午夜影视在线视频观看免费 | 同性恋激情视频 | 午夜影院在线免费 | 伊人久久大香线蕉影院95 | 国产欧美精品午夜在线播放 | 九色中文 | 欧美在线成人午夜影视 | 亚洲国产日韩精品怡红院 | 欧美一区二区三区精品 | 亚久久 | 亚洲天堂免费在线 | 人人人人澡| 人人干综合 | 操到喷水| 老师叫我下面含着精子去上课 | tom影院亚洲国产一区二区 | 国产精品美女免费视频大全 | 俺去啦在线视频 | 国产大片免费观看中文字幕 | 在线观看免费视频网站色 | 国产专区视频 | 色免费观看 | 成年人的毛片 | 天天碰人人 | 午夜精品久久久久久久2023 |