大家好,我是ZhengN。
嵌入式大雜燴周記主要是一些實用項目學習分享,每周一篇,每篇一個主題。
內(nèi)容主要來源于我們之前收集的資料:
https://gitee.com/zhengnianli/EmbedSummary
本期主角:LingLongGUI
玲瓏GUI是高效的界面開發(fā)解決方案。
- 代替串口屏、組態(tài),降低產(chǎn)品成本,產(chǎn)品軟硬件自主可控。
- 配套界面開發(fā)軟件,圖形化編輯界面,生成C代碼,直接和用戶產(chǎn)品代碼結合。
- 配套下載升級軟件和bootloader,解決產(chǎn)品升級功能和圖片下載問題。
玲瓏GUI源碼地址:
https://gitee.com/gzbkey/LingLongGUI
license:Apache License, Version 2.0 + 附加協(xié)議。
關于開源軟件協(xié)議相關文章:常用的開源協(xié)議有哪些?
教程鏈接:
https://www.yuque.com/books/share/3317aaa7-f47f-4bfd-a4c2-7e64e7f1c4be
LingLongGUI的使用
下面,我們通過一步一步地實踐來認識認識LingLongGUI。
其實我們可以不下載源碼,僅下載LingLongGuiBuilderTool工具即可,LingLongGuiBuilderTool是LingLongGUI配套的界面開發(fā)軟件,通過拖拽控件的方式設計界面并生成代碼。
注意:以下操作基于LingLongGuiBuilderTool_2022.1.18版本,不同的LingLongGuiBuilderTool版本可能操作不一樣。
1、LingLongGuiBuilderTool里自定義屏幕分辨率
LingLongGui的作者有自己設計了幾款開發(fā)板:
其LingLongGuiBuilderTool工具默認只支持這幾款開發(fā)板。LingLongGuiBuilderTool安裝路徑中的配置文件deviceType.ini中的內(nèi)容如:
溫馨提示:ini配置文件相關推文可轉(zhuǎn)至嵌入式開發(fā)小記,實用小知識分享
下面的操作中,我們沒有使用官方開發(fā)板來做實驗,所以需要在配置文件里新增我們開發(fā)板的配置。我們使用小熊派IOT開發(fā)板來做實驗,添加的內(nèi)容如:
2、實踐
實踐步驟,上面的教程寫得很清楚,下面跟著走一遍:
(1)準備一份LCD顯示的例程。
(2)keil設置
--no-multibyte-chars--locale=english
AC5必須填入--no-multibyte-chars,AC6則不需要
(3)啟動gui builder,keil -- tools --LingLongGuiBuilder
新建一個UI File,然后拖動控件設計我們的界面:
設計完成后 保存文件及工程
,然后點擊左上角綠色三角形按鈕或者點擊Tool->Generate可生成對應GUI代碼源文件存放于我們的工程目錄下及自動添加到工程里:
編譯看看有沒有報錯:
如果報大量錯誤的話看看keil Options for Target是否按照上面的步驟進行修改。如果報如下錯誤:
把LL_Config.h里的宏 USE_LLGUI_EX
屏蔽掉即可:
編譯報了一些警告,這些警告是LLGUI相關的,一些變量定義未使用等警告,我們這里不管它們,也可以在keil Options for Target -- C/C++ -- Misc Controls加入如下內(nèi)容屏蔽相關警告編號的警告:
--diag_suppress=xxx(這里的xxx表示警告的編號)
比如屏蔽掉550號警告:
--diag_suppress=550
相關內(nèi)容可參考文章:
https://www.cnblogs.com/svchao/p/13917877.html
編譯未報錯我們再往下看。
(4)修改llGuiUser下的LL_Config.c文件
修改如:
LL_Config.c添加lcd.h包含:
(4)修改LL_Config.h中的屏幕參數(shù)
(5)增大堆的大小
否則可能無法正常顯示:控件無法顯示或顯示不全。
(5)在main.c中添加如下內(nèi)容
#include"ui_test.h"
int
main
(void)
{
ui_testInit();
while
(
1
)
{
}
}
編譯、下載即可看到我們剛才在LingLongGUIGuilderTool里設計的界面了:
通過上面的操作,我們發(fā)現(xiàn)LingLongGUI很容易地移到我們的工程里。
對比其它GUI,我們移植其它GUI時,可能需要自己新建、復制一些文件夾/文件到我們的工程目錄下,再手動添加到keil工程里,再挨個添加頭文件包含路徑,這些操作挺煩人的。
而使用LingLongGUI時,通過LingLongGUIGuilderTool可以很方便地設計我們的UI界面、生成代碼并自動添加到keil工程工程中,省了不少事!
另外,還有很方便的一點:
當LingLongGUI遠程倉庫有更新時,可以直接在生成的LingLongGUI文件夾下通過git來拉取最新代碼:
LingLongGUI現(xiàn)在還處于起步階段,還在不斷完善優(yōu)化中,勢頭還可以,大家可持續(xù)關注。
以上就是本次的分享,我們下期見~
keil Options for Target -- C/C++ -- Misc Controls 填入
keil Options for Target -- C/C++ -- 勾選C99
-
源碼
+關注
關注
8文章
642瀏覽量
29229 -
代碼
+關注
關注
30文章
4790瀏覽量
68653 -
開發(fā)軟件
+關注
關注
1文章
25瀏覽量
12961
發(fā)布評論請先 登錄
評論