該文章工程是基于裸機情況下運行的LVGL,通過GUI-Guider-1.4.0進行頁面布局配置。
一、介紹
GUI Guider是恩智浦為LVGL開發(fā)了一個上位機GUI設計工具,可以通過拖放控件的方式設計LVGL GUI頁面,加速GUI的設計。設計完成的GUI頁面可以在PC上仿真運行,確認設計完畢之后可以生成C代碼,再整合到MCU項目中。
GUI Guider(Version: 1.3.0-GA)的主要特征:
支持Windows 10和Ubuntu 20.04。
支持中文、英文。
兼容LVGL V7和LVGL V8版本。
支持拖放的所見即所得(WYSIWYG)用戶界面設計。
多種字體支持及第三方字體導入。
可定制的中文字符范圍。
小部件對齊方式:左、中、右。
自動產生LVGL 的C語言源代碼。
支持默認樣式和自定義樣式。
演示應用程序集成。
實時日志顯示。
集成上位機仿真器。
注意!!GUI-Guider會依賴javaJDK,因此需要安裝jdk.
接線:

二、安裝
2.1安裝Java-JDK
安裝JDK,我使用的JDK見下圖(如果你已經安裝有JDK,則忽略這里。)
JDK安裝我這里就不寫了,外面很多大佬關于JDK的安裝非常詳細。

2.2安裝GUI-Guider
下圖為安裝包。(我的電腦是64位?WIN10)

2.2.1?選擇中文(簡體)

2.2.2選擇同意協議

2.2.3?選擇安裝路徑

2.2.4等待安裝完成

2.2.5安裝完成

三、創(chuàng)建工程
使用的是立創(chuàng)梁山派的屏幕擴展板,4.3寸,高清的480*800分辨率加5點的電容觸摸屏。
詳情界面鏈接:立創(chuàng)·梁山派-屏幕擴展板

3.1選擇創(chuàng)建新工程
打開軟件后,創(chuàng)建新工程。

3.2選擇LVGL版本
這里使用的是V8版本的LVGL。

3.3選擇設備模板

3.4選擇應用模板
這里選擇了一個空白模板,如果感興趣可以試一試官方的模板。

3.5工程配置
屏幕的像素是480x800,我這里選擇的16位彩色,面板尺寸自定義為480x800(豎屏顯示)。工程路徑請務必放在英文路徑

3.6創(chuàng)建完成
創(chuàng)建完成之后,就是這樣啦。

四、常用組件的應用
4.1標簽
點擊標簽然后拖拽到我們的顯示界面上。

4.1.1標簽屬性設置
這里主要設置顯示的文本內容,和字體。注意:你使用一個字體,它就會生成一個字庫給你,所以請慎重考慮內存問題,或者將生成的字庫保存至外部FLASH里。

4.2按鈕
點擊按鈕然后拖拽到我們的顯示界面上。

4.2.1按鈕屬性設置

4.2.2按鈕事件添加
事件是按鈕的靈魂,涉及到我們后繼代碼如何判斷按鍵是否點擊

事件配置里,如果不隨便點一個動作,則軟件不會生成按鈕事件的C代碼,所以我選擇修改背景色。后面生成代碼后再把這個動作的代碼刪除。

4.3圖片
點擊圖片組件然后拖拽到我們的顯示界面上。

4.3.1添加圖片資源
點擊我們拉出來的圖片組件,在屬性設置里,添加我們的圖片資源。

在彈出的界面選擇添加。

這里我選擇了一張藍牙的圖標。

添加完成之后,選擇這個圖片。

這樣就顯示出來了。注意,每使用一張圖片,都會生成C代碼,注意內存問題,或保存至外部FLASH。

4.4生成第二個界面

返回之后,點擊+號,生成第二個界面。

點擊生成的第二個界面,就可以進行編輯了。

4.5圖片按鈕(界面切換)
這個圖片按鈕我們用來進行界面跳轉?;氐浇缑嬉唬鰣D片按鈕。

這里推薦一個圖標網站,對大多數的圖標都可以免費下載。
網站鏈接:iconfont-阿里巴巴矢量圖標庫
我下載了返回圖標和前進圖標。

將圖片加載到我們的圖片按鈕

設置圖片按鈕的事件為界面切換事件

去到第二個界面,設置返回鍵。

在返回鍵添加界面切換事件,讓其可以切換到第一個界面

五、進行模擬并生成代碼
點擊綠色按鍵,選擇C。開始模擬運行。(會比較慢)

運行效果。視頻效果見鏈接:

六、生成代碼并且移植
點擊生成代碼


去到這個Demo工程目錄下,找到生成的代碼。
我之前創(chuàng)建工程時的路徑

代碼就在工程目錄的generated和custom文件夾下。將兩個文件夾復制到我們的GD32LVGL工程文件夾里。

將我們之前復制的文件夾替換GD32LVGL工程里之前的文件夾。

打開我們替換后的GD32LVGL工程。刪除之前生成的代碼。

添加我們配置的界面代碼。

添加custom文件夾下的.c文件

添加generated文件夾下的.c文件。(界面和配置文件)

添加generated文件夾里的guider_fonts文件夾下的所有.c文件。(字庫文件)

添加generated文件夾里的images文件夾下的所有.c文件。(圖片資源文件)

最后是這樣的。(注意我的字體和圖片不一定和你一樣,所以不一定是和我添加的文件是完全一樣的)

添加完成后,編譯。編譯完成發(fā)現有錯誤。

錯誤主要是頭文件錯誤。跳轉到錯誤的地方

將原先錯誤的地方注釋,換成我圖片中的樣子。
#include?"../../lvgl.h"

重新編譯,發(fā)現還有一個錯誤。這個錯誤是在events_init.c文件查找不到guider_ui。

guider_ui是在main.c中定義的一個全局變量,我是定義為ui,所以要將main.c的變量ui,通過extern連接至events_init.c文件。


連接至events_init.c文件后,需要將events_init.c文件里的所有guider_ui替換為ui。
替換操作見下圖。

替換完成后,進行編譯,沒有錯誤。

七、下載驗證
初始界面

按下按鈕

界面切換

八、事件代碼修改
這里只講解btn_sw這個按鈕的事件。

如果需要按鈕按下時燈亮,再按時燈滅的效果,只需在事件中斷里,添加即可。

最后注意事項
1、有一些組件的代碼是不一樣的,需要注意。(我發(fā)現時鐘就不行)
2、當使用到事件時,需要給事件掃描一個心跳,即多少時間去掃描一次是否有事件發(fā)生。
我放在定時器里固定時間掃描一次。


代碼百度網盤連接:
鏈接:https://pan.baidu.com/s/1Px2P43xuQtCciZlBzeJXOQ?pwd=1234 文章來源:http://www.zghlxwxcb.cn/news/detail-543160.html
提取碼:1234 文章來源地址http://www.zghlxwxcb.cn/news/detail-543160.html
到了這里,關于立創(chuàng)梁山派GD32F450ZGT6--屏幕擴展板LVGL應用的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!