TouchGFX Documentation
-你想要的GUI參考全在這里-
隨著智能物聯(lián)時代的到來,對傳統(tǒng)的嵌入式設備提出了更多和更高的要求,如安全性、AI、計算能力、交互友好、使用時長、方便易用等等。
得益于強大豐富的產(chǎn)品線,STM32在上述硬性需求上都有所考量,這里主要是在人機交互GUI方面的介紹,通過之前我們發(fā)布過的一些相關(guān)文章(詳見文末指引),大家可以看到,STM32擁有強大的GUI工具TouchGFX,能夠在嵌入式設備上實現(xiàn)安卓手機上一樣流暢的效果,那么如何在STM32上輕松使用TouchGFX呢?
TouchGFX Documentation提供了完美的答案!
TouchGFX Documentation
——TouchGFX Team耗時數(shù)月精心打造的資料庫,它以網(wǎng)頁的形式呈現(xiàn):
https://support.touchgfx.com/docs/introduction/welcome
接下來為大家介紹其主要板塊。
安裝
TouchGFX相關(guān)的程序安裝,也統(tǒng)一放進了STM32強大的開發(fā)工具STM32CubeMX中,可以根據(jù)引導逐步完成安裝。
快速開始
考慮到很多開發(fā)者和初學者希望能夠快速完成原型開發(fā)和工具的熟悉,如上圖所示,TouchGFX提供了豐富的例程,結(jié)合STM32已有的強大生態(tài),硬件有各種類型的開發(fā)板、評估板,軟件有STM32Cube和各種應用示例,開發(fā)者可以直接參考例程進行原型開發(fā),并在STM32相應的開發(fā)板上進行驗證,非常簡便易用!
這里包含對嵌入式圖像、像素格式、顯存、圖像處理引擎、操作系統(tǒng)、內(nèi)存使用等基本概念的介紹,幫助用戶對嵌入式GUI能夠有基本的認知和全局的把握。
開發(fā)流程介紹
這里包含對嵌入式圖像、像素格式、顯存、圖像處理引擎、操作系統(tǒng)、內(nèi)存使用等基本概念的介紹,幫助用戶對嵌入式GUI能夠有基本的認知和全局的把握。
基于STM32 + TouchGFX開發(fā)GUI相關(guān)的項目,我們把開發(fā)流程分為:
硬件的選型 --> 板級初始化 --> TouchGFX抽象層 --> TouchGFX UI應用開發(fā)
硬件平臺的選擇及板級正常運行
硬件平臺主要包括MCU,液晶屏及相應接口,外部FLASH,外部RAM,這需要開發(fā)者從整體來考慮,比如液晶屏的分辨率,MCU和液晶屏之間的接口,MCU內(nèi)部的RAM是否夠用,是否需要外擴RAM,以及通過QSPI或是FMC接口外擴FLASH,用來存放圖片,視頻,字體等資源。
硬件BOM選型完成后,就可以通過強大的STM32CubeMX,進行相應的配置,然后生成STM32驅(qū)動及TouchGFX的相關(guān)的初始化工程。
TouchGFX AL 抽象層開發(fā)
從這里可以看出,TouchGFX AL抽象層是一個紐帶,負責維系項目板級驅(qū)動和TouchGFX引擎,它主要向TouchGFX引擎同步顯存的狀態(tài),匯報觸摸,按鍵的更新事件,同步并保護對顯存的訪問,渲染緩存,并將緩存內(nèi)容顯示出來。
UI應用開發(fā)
UI應用開發(fā)之前,需要了解一下TouchGFX的軟件設計架構(gòu)和模型,
TouchGFX采用了Model-View-Presenter的設計架構(gòu),具體如下:
M-V-P架構(gòu)將邏輯從圖形中分離出來,結(jié)構(gòu)比較清晰,也便于代碼的重用和各個模塊的維護和獨立測試。Model、View和Presenter這3個模塊各司其職:
Model:定義需要顯示的內(nèi)容,以及和外部的接口的交互事件
View:顯示接口,用于顯示Model模塊定義的內(nèi)容,同時也將用戶在界面上進行的操作命令(即相應的事件)傳遞到Presenter模塊
Presenter:從上圖中也可以看的出來,Presenter是一個樞紐和控制器,它負責控制和傳遞Model和View之間的事件。
在介紹完TouchGFX的軟件架構(gòu)后,TouchGFX Documentation對TouchGFX相關(guān)使用做了非常詳盡的介紹,包括TouchGFX Designer的使用,Designer中所有控件的介紹及應用代碼示例,以及結(jié)合目前所有帶液晶屏的STM32 DEMO板的相應示例,主要包括可穿戴應用、家電應用、儀表盤應用等等,并且還在不斷增加中。
以下示例供參考:
TouchGFX Documentation最后單獨列出了所有相關(guān)的API及資源總結(jié),以方便用戶進行檢索和便捷地使用。希望開發(fā)者和愛好者能通過介紹,對TouchGFX本身及如何利用STM32 + TouchGFX開發(fā)UI有所了解,在真正使用和開發(fā)過程中能夠利用TouchGFX Documentation更流暢地使用這個強大的GUI開發(fā)工具!
TouchGFX Documentation的中文翻譯正在進行中,相信很快就可以和大家見面了!
最后,依然少不了彩蛋:
GUI生態(tài)系統(tǒng)模塊在STM32中文官網(wǎng)已經(jīng)正式上線了
(點擊文末閱讀原文即可跳轉(zhuǎn)到鏈接) https://www.stmcu.com.cn/ecosystem/app/function-GUI
GUI生態(tài)系統(tǒng)專欄里,不僅包含了豐富的資料,demo,線上培訓教程,以及FLASH,RAM,LCD Panel及IDH的合作伙伴,無論在方案設計,BOM成本,開發(fā)的易用性方面,都有非常豐富的資源可以參考,來吧!釋放你的創(chuàng)造力!
注:此文章所用的所有圖片及動圖均來自TouchGFX Documentation!
相關(guān)文章
點擊文字跳轉(zhuǎn)到相關(guān)文章
看臉的世界,你的產(chǎn)品怎能不美?STM32 GUI線上課程教你創(chuàng)造高顏值產(chǎn)品
小緩存實現(xiàn)大效果:X-NUCLEO-GFX01M1 和 TouchGFX 4.15讓你的產(chǎn)品光芒閃耀
技術(shù)分享 |TouchGFX 簡單界面設計——按鍵控制光圈移動
高性能MCU助力家電新啟航