1. 程式人生 > 實用技巧 >【STM32F429】第1章 當前主流的小型嵌入式GUI

【STM32F429】第1章 當前主流的小型嵌入式GUI

最新教程下載:http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429

第1章 當前主流的小型嵌入式GUI

這幾年Cortex-M系列單片機發展迅猛,功能也越來越強勁,隨之而來的就是小型嵌入式GUI也得到很好的發展。本章節就為大家介紹下當前主流的小型嵌入式GUI。

1.1 當前主流的嵌入式GUI

1.2 TouchGFX介紹

1.3 Embedded Wizard GUI介紹

1.4 emWin(uCGUI)介紹

1.5 Qt for MCU介紹

1.6 Crack Storyboard介紹

1.7 Altia GUI介紹

1.8 μGFX介紹

1.9 ThreadX GUIX介紹

1.10 總結

1.1 當前主流的嵌入式GUI

當前主流的小型嵌入式GUI主要有:emWin(uCGUI),TouchGFX,Embedded Wizard GUI,uGFX,MicroChip GUI ,Qt for MCU,Crack Storyboard,Altia GUI,ThreadX GUIX等。當然,還有其它的GUI,這裡把前面說到的其中幾款GUI給大家進行簡單的介紹。

1.2 TouchGFX介紹

TouchGFX釋出已經有5-6個年頭了,以介面華麗,流暢以及強勁的TouchGFX Designer著稱。官方地址:https://www.touchgfx.com/

2018年,正式被ST收購,當前主要用於STM32平臺。下面貼幾張TouchGFX實際的顯示效果:

下面是TouchGFX Designer的軟體效果,功能比較強勁,讓介面的建立變得比較容易:

關於TouchGFX的介紹就給大家說這麼多,更多相關知識可以到TouchGFX的官網去檢視。從上面的幾張圖可以看出,TouchGFX設計的介面效果還是很漂亮的。

TouchGFX在STM32官方探索板或者評估板上面的演示效果:

  • TouchGFX在STM32F429上面的超炫演示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=8064

  • TouchGFX在STM32F469上面的超炫演示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=15152

  • TouchGFX在STM32F769上面的超炫演示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=17901

  • TouchGFX在STM32H750上面的超炫演示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=94379

1.3 Embedded Wizard GUI介紹

Embeded Wizard GUI也是釋出了5-6年的嵌入式GUI,同樣以華麗,流暢的介面和強勁的GUIBuilder著稱。官方地址:http://www.embedded-wizard.de/

下面貼幾張Embeded Wizard GUI實際的顯示效果:

獨創Chora介面程式語言,讓大家的介面程式設計極其簡單,GUIBuilder上面含有非常多的控制元件,面板和主題供使用者選擇,且支援除錯,實際效果如下:

關於Embeded Wizard GUI的介紹就給大家說這麼多,更多相關知識可以到Embeded Wizard GUI的官網去檢視。從上面的幾張圖可以看出,Embeded Wizard GUI設計的介面效果還是很漂亮的。美中不足的是Embeded Wizard GUI也是要收費的,具體收費標準看這裡:http://www.embedded-wizard.de/pricing.html

Embeded Wizard GUI在STM32官方探索板或者評估板上面的演示效果:

  • Embeded Wizard GUI在STM32F746上面的超炫演示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=10850

  • Embeded Wizard GUI在STM32F769上面的超炫演示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=19548

1.4 emWin(uCGUI)介紹

emWin屬於老牌的嵌入式GUI了,有著20年的歷史了,軟體架構和功能比較成熟了。關於emWin的介紹可以看我們的第1版emWin教程,第2版emWin教程和第3版emWin教程。官方地址:https://www.segger.com/products/user-interface/emwin/

  • emWin教程第1版

http://www.armbbs.cn/forum.php?mod=viewthread&tid=2932

  • emWin教程第2版

http://www.armbbs.cn/forum.php?mod=viewthread&tid=19834

  • emWin教程第3版

http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429

  • emWin(uCGUI)更新記錄

emWin(uCGUI)的歷史比較悠久了,首版釋出於1999年6月,下面是從V1.0開始的部分更新記錄。

Version control for emWin/GSC

000804 V1.32    a) various changes implemented
000403 V1.30f   a) LCD.h V1.30 used
000327 V1.30e   a) LCD.h V1.06a used
000323 V1.30d   a) GUIArcFloat.c included
000323 V1.30c   a) LCD.h V1.06 used
000229 V1.30b   a) Improved Unicode support in GUIChar.c
000217 V1.30a   a) LCD_Color update to V1.16 (grayscale support in 8666 mode)
000211 V1.30    a) 2 new info functions for fonts implemented
                b) Unicode string support added
991210 V1.28d   a) GUIChar.C: GUI_DispStringHCenter added
                b) Compile Warnings eliminated
991210 V1.28c   a) GUI2DGL.C splitted
991204 V1.28b   a) GUI_Context.AWin init modified
991203 V1.28a   a) GUI2DGL init now initializes GUI_Context.AWin
991203 V1.28    a) LCDColor updated (support for 3bpp)
991129 V1.26d   a) GUIChar.C update (1.20c)
991129 V1.26c   a) GUI2DGL.C update (reg. LCD_Init)
991110 V1.26b   a) GUIChar.h update
991110 V1.26a   a) GUI.H: System defines (Keys etc) added
991109 V1.26    a) GUI2DCL.C eliminated
991018 V1.24    a) All value display routines rewritten in order to
                   support writing into a string (which is helpful
                   for other modules, like Progbar etc.)
                b) Type cast added in GUI_GetCharDistX in order to
                   make sure characters above 128 are properly handled
991018 V1.22b   a) LCDChar.c 1.20.02 used
991018 V1.22a   a) LCDColor V1.12a used
991018 V1.22    a) Support for 8666 mode (LCDColor V1.12 used)
991015 V1.21.10 a) LCDColor.c update V1.10f
991014 V1.21.09 a) GUI2DGL.C update 1.02.05
991014 V1.21.08 a) GUI.h: Define for GUI_LIGHTBLUE changed
991012 V1.21.07 a) LCDColor.c: Color translation in 8bpp mode with fixed table as default added
991011 V1.21.06 a) LCDCOLOR.C V1.10.04 used
991009 V1.21.05 a) new GUI2DGL.C used
990927 V1.21.04 a) LCDColor.C: LCD_Color2Color15: Blue and red in return value swapped
990926 V1.21.03 a) Clipping on entire region for cursor
990921 V1.21.02 a) Add. locking support for thread safety
990918 V1.21.00 a) New file GUITASK.C added for thread safety
990909 V1.20.05 GUI2DCL.c: clean up
990901 V1.20.04 Config sample changed
990831 V1.20.02 GUIChar V1.10.01 in order to avoid compiler warnings
990821 V1.20.01 GUI: Small changes to avoid compiler warnings            
990821 V1.20.00 Files reorganized, GUIX, GUIFONT, GUIFONTX directories
                created
990821 V1.14.01 WMID.H eliminated
990820 V1.14.00 LCDMEM4.C added
                LCDChar.C: GUI_DispStringCenterAt added
990810 V1.12.03 GUI.H cleanup, Sample\GUIConf.h cleaned up
990809 V1.12.02 GUIColor changed in order to ensure proper function
                with 16-bit CPUs
990804 v1.12.01 Some compiler warnings generated by the IAR compiler
                eliminated, code cleaned up
990802 V1.12.00 Font files now in seperate directory
                LCDWIN.C --> LCDWIN.CPP, now exports a routine
                to display the BITMAP under Windows
990725 v1.10.00 Dynamic fonts are supported (Fontkonverter compatible)
990720 v1.04.01 New version LCD135X.C
990713 v1.04.00 LCD135X.C:  V1.10
                LCDColor.C: V1.10
990712 V1.03.05 LCD15XX.C: V1.31.01
990709 V1.03.04 LCD15XX.C: V1.30.03
990709 V1.03.03 LCD15XX.C: V1.30.01
990708 V1.03.02 LCD15XX.C: V1.21.02
990615 V1.03.01 GL_DrawArc now works with degrees
990615 V1.03 Drawarc implemented
990615 V1.02 New Version LCD15XX.C: 1.21
990614 V1.01 New version of LCD15XX.C with support for Segment
             COM lookup tables
990610 V1.00 ** Initial version for version control purpose

1.5 Qt for MCU介紹

Qt官方在2018年的Embedded World上做了F429和F769的展示,但非常卡。2019年8月份的時候帶來ST的F7,瑞薩的RH850和NXP的i.MX RT1050視訊展示,比之前流暢了很多。

到了2019 Qt峰會的時候,正式釋出Qt for MCU V1.0。

  • Qt for MCU視訊展示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=95912

  • Qt for MCU 收費

https://www.qt.io/buy-product/

1.6 Crack Storyboard介紹

Storyboard也有一款非常優秀的GUI設計器,能夠大大的加速GUI的設計,而且足夠絢麗,各種儀表,工控,醫療,物聯網等都能很好的支援。官方地址:https://www.cranksoftware.com/

當前支援的廠家如下:

Storyboard軟體介面效果:

  • Storyboard Suite 5.0視訊展示

視訊效果還是比較炸的。

http://www.armbbs.cn/forum.php?mod=viewthread&tid=53640

  • Storyboard收費方式

https://www.cranksoftware.com/storyboard-pricing-licensing

1.7 Altia GUI介紹

Altia有將近30年的發展史,並且通過了AutomotiveSPICE汽車級HMI的一級認證,這個認證共分為6個級別,0到5級,其中第5級是最高等級。官方地址:https://www.altia.com/

Altia GUI的圖形開發軟體更是極其強勁。有如下三款軟體組成:

(1)人機互動介面整合開發環境 — Altia Design。

(2)自動程式碼生成工具 — Altia DeepScreen

(3)在Adobe Photoshop中構建互動式使用者介面資源 — Altia PhotoProto

支援的硬體平臺:

效果展示:

  • Altia GUI視訊效果展示

http://www.armbbs.cn/forum.php?mod=viewthread&tid=30737

  • Altia GUI收費方式

Altia GUI也是收費軟體, 具體收費方式要聯絡要聯絡他們獲取。

1.8 μGFX介紹

μGFX也是這幾年才釋出的嵌入式GUI,介面效果不像TouchGFX那麼華麗,不過功能也是簡單實用。同樣有一款不錯的GUIBuilder。官方地址:http://www.ugfx.org/ 。支援的硬體平臺,RTOS和顯示屏驅動在這裡有詳細說明:http://www.ugfx.org/platforms.html ,就不單獨整理出來了。

下面貼幾張μGFX實際的顯示效果:

下面是μGFX軟體效果:

關於μGFX的介紹就給大家說這麼多,更多相關知識可以到μGFX的官網去檢視。從上面的幾張圖可以看出,雖然μGFX介面不夠華麗,但還算實用。μGFX也是要收費的,具體收費標準看這裡:http://www.ugfx.org/pricing.html

1.9 ThreadX GUIX介紹

由於ThreadX GUIX是本教程要講解的,專門在第 3 章進行了介紹,這就不再展開講述了

1.10 總結

本章主要為大家講解了幾款主流的嵌入式GUI,讓大家對當前的小型嵌入式GUI有一個整體的瞭解,更多關於這幾款GUI的知識可以上其官網進行了解和學習。