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

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

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

什么是LingLongGUI?

汽車電子技術(shù) ? 來源:嵌入式大雜燴 ? 作者: ZhengN ? 2023-02-09 16:57 ? 次閱讀

大家好,我是ZhengN。

嵌入式大雜燴周記主要是一些實(shí)用項(xiàng)目學(xué)習(xí)分享,每周一篇,每篇一個主題。

內(nèi)容主要來源于我們之前收集的資料

https://gitee.com/zhengnianli/EmbedSummary

本期主角:LingLongGUI

玲瓏GUI是高效的界面開發(fā)解決方案。

  • 代替串口屏、組態(tài),降低產(chǎn)品成本,產(chǎn)品軟硬件自主可控。
  • 配套界面開發(fā)軟件,圖形化編輯界面,生成C代碼,直接和用戶產(chǎn)品代碼結(jié)合。
  • 配套下載升級軟件和bootloader,解決產(chǎn)品升級功能和圖片下載問題。

玲瓏GUI源碼地址:

https://gitee.com/gzbkey/LingLongGUI

license:Apache License, Version 2.0 + 附加協(xié)議。

關(guān)于開源軟件協(xié)議相關(guān)文章:常用的開源協(xié)議有哪些?

教程鏈接:

https://www.yuque.com/books/share/3317aaa7-f47f-4bfd-a4c2-7e64e7f1c4be

LingLongGUI的使用

下面,我們通過一步一步地實(shí)踐來認(rèn)識認(rèn)識LingLongGUI。

其實(shí)我們可以不下載源碼,僅下載LingLongGuiBuilderTool工具即可,LingLongGuiBuilderTool是LingLongGUI配套的界面開發(fā)軟件,通過拖拽控件的方式設(shè)計界面并生成代碼。

注意:以下操作基于LingLongGuiBuilderTool_2022.1.18版本,不同的LingLongGuiBuilderTool版本可能操作不一樣。

1、LingLongGuiBuilderTool里自定義屏幕分辨率

LingLongGui的作者有自己設(shè)計了幾款開發(fā)板:

pYYBAGPks9qAft-5AACm9esnQsM270.png

其LingLongGuiBuilderTool工具默認(rèn)只支持這幾款開發(fā)板。LingLongGuiBuilderTool安裝路徑中的配置文件deviceType.ini中的內(nèi)容如:

pYYBAGPks-qAbJbPAAJancifV0Y713.png

溫馨提示:ini配置文件相關(guān)推文可轉(zhuǎn)至嵌入式開發(fā)小記,實(shí)用小知識分享

下面的操作中,我們沒有使用官方開發(fā)板來做實(shí)驗(yàn),所以需要在配置文件里新增我們開發(fā)板的配置。我們使用小熊派IOT開發(fā)板來做實(shí)驗(yàn),添加的內(nèi)容如:

poYBAGPktBWAbYDnAANf_gDEUbc320.png

2、實(shí)踐

實(shí)踐步驟,上面的教程寫得很清楚,下面跟著走一遍:

(1)準(zhǔn)備一份LCD顯示的例程。

(2)keil設(shè)置

--no-multibyte-chars--locale=english

poYBAGPktFSAWlNpAAJcLEtR-SQ993.png

AC5必須填入--no-multibyte-chars,AC6則不需要

(3)啟動gui builder,keil -- tools --LingLongGuiBuilder

poYBAGPktF-AGuKhAAICX3CfjJQ514.png

pYYBAGPktGmAbJPZAAAdgBm5j7Y644.png

pYYBAGPktHWAfsaIAABbBD4cOPA644.png

新建一個UI File,然后拖動控件設(shè)計我們的界面:

pYYBAGPktIKAcrtqAAEq0G_oiYk892.png

設(shè)計完成后 保存文件及工程 ,然后點(diǎn)擊左上角綠色三角形按鈕或者點(diǎn)擊Tool->Generate可生成對應(yīng)GUI代碼源文件存放于我們的工程目錄下及自動添加到工程里:

pYYBAGPktI-AAxYEAAIxLNjlGWA178.png

pYYBAGPktJuAIeaSAACcfKufqv4700.png

編譯看看有沒有報錯:

pYYBAGPktK6AOC9cAADwGeUrG58311.png

如果報大量錯誤的話看看keil Options for Target是否按照上面的步驟進(jìn)行修改。如果報如下錯誤:

poYBAGPktLqAVhmiAAEkMmeGXzA869.png

把LL_Config.h里的宏 USE_LLGUI_EX 屏蔽掉即可:

pYYBAGPktMSATwzYAAJ728HtTjc978.png

編譯報了一些警告,這些警告是LLGUI相關(guān)的,一些變量定義未使用等警告,我們這里不管它們,也可以在keil Options for Target -- C/C++ -- Misc Controls加入如下內(nèi)容屏蔽相關(guān)警告編號的警告:

--diag_suppress=xxx(這里的xxx表示警告的編號)

比如屏蔽掉550號警告:

--diag_suppress=550

相關(guān)內(nèi)容可參考文章:

https://www.cnblogs.com/svchao/p/13917877.html

編譯未報錯我們再往下看。

(4)修改llGuiUser下的LL_Config.c文件

poYBAGPktN6ASu_5AACiKal-6V0401.png

修改如:

pYYBAGPktOyADGY9AADdR4H9vTA458.png

LL_Config.c添加lcd.h包含:

pYYBAGPktP6ABLs4AAM1fhs_Z2w811.png

(4)修改LL_Config.h中的屏幕參數(shù)

pYYBAGPktQmAcvqBAAI24nnG56I396.png

(5)增大堆的大小

poYBAGPktRiAOD1MAAHY7OsteHc429.png

否則可能無法正常顯示:控件無法顯示或顯示不全。

(5)在main.c中添加如下內(nèi)容

#include"ui_test.h"

int

main

(void)

{

ui_testInit();

while

(

1

)

{

}

}

pYYBAGPktSqAQhXKAAC11ZW06ns863.png

poYBAGPktTaAU12FAAICA8-xtFo346.png

編譯、下載即可看到我們剛才在LingLongGUIGuilderTool里設(shè)計的界面了:

pYYBAGPktUGAYvC8AAnGzRkgyVI656.png

通過上面的操作,我們發(fā)現(xiàn)LingLongGUI很容易地移到我們的工程里。

對比其它GUI,我們移植其它GUI時,可能需要自己新建、復(fù)制一些文件夾/文件到我們的工程目錄下,再手動添加到keil工程里,再挨個添加頭文件包含路徑,這些操作挺煩人的。

而使用LingLongGUI時,通過LingLongGUIGuilderTool可以很方便地設(shè)計我們的UI界面、生成代碼并自動添加到keil工程工程中,省了不少事!

另外,還有很方便的一點(diǎn):

當(dāng)LingLongGUI遠(yuǎn)程倉庫有更新時,可以直接在生成的LingLongGUI文件夾下通過git來拉取最新代碼:

poYBAGPktU2ATvlhAAEuRBLhXLM527.png

pYYBAGPktVaAHCOLAAFkNCvABw0289.png

LingLongGUI現(xiàn)在還處于起步階段,還在不斷完善優(yōu)化中,勢頭還可以,大家可持續(xù)關(guān)注。

以上就是本次的分享,我們下期見~


keil Options for Target -- C/C++ -- Misc Controls 填入

keil Options for Target -- C/C++ -- 勾選C99

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

    關(guān)注

    8

    文章

    626

    瀏覽量

    28992
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4674

    瀏覽量

    67810
  • 開發(fā)軟件
    +關(guān)注

    關(guān)注

    1

    文章

    24

    瀏覽量

    12894
收藏 人收藏

    評論