1. 程式人生 > 其它 >【STM32H7】第28章 ThreadX GUIX滾輪控制元件實現引數調節

【STM32H7】第28章 ThreadX GUIX滾輪控制元件實現引數調節

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

第28章 ThreadX GUIX滾輪控制元件實現引數調節

本章節為大家講解GUIX的滾輪控制元件實現引數調節,非常實用。

28.1初學者重要提示

28.2 GUIX Studio建立視窗

28.3 GUIX回撥事件處理

28.4 實驗例程設計框架

28.5 實驗例程

28.6 總結

28.1 初學者重要提示

  1. 務必看第11章學習GUIX Studio的使用方法和第12章學習GUIX Studio生成的程式碼移植到硬體平臺的方法。
  2. 本章配套例子製作了一個年月日設定案例,實際專案用到的類似場景比較多。

28.2 GUIX Studio建立視窗

我們這裡設計了一個視窗,介面大小800*480:

28.2.1 主視窗設定

主視窗大小800*480,注意注意合理配置一個Widget Id,後面要用到:

另外還專門設定了一個回撥函式:

28.2.2 日期更新控制元件

日期更新是採用的Prompt檔案控制元件實現,注意Widget Id,後面要用到:

並注意開啟執行時動態更新:

28.2.3 滾輪控制元件設定

GUIX有三種滾輪控制元件,分別是Generic Scroll Wheel,Numeric Scroll Wheel和String Scroll Wheel。我們這裡使用的是Numeric Scroll Wheel。

新增方法如下,依次添加了三個,分別用於年月日設定:

我們這裡以年設定為例進行說明,Widget id設定為GUI_ID_NSCROLLWHELL0:

然後是下面幾個引數設定:

  • Total Rows

這個是總行數設定。我們這裡設定了30個。

  • Selected Row

表示當前選中的行。從0開始計數。

  • Row Height

表示行高度。

  • Fade Edge Value

表示控制元件邊緣的透明度,0表示完全不透明,255表示完全透明。

  • Fade Center Value

表示控制元件中心位置的透明度,0表示完全不透明,255表示完全透明。

  • Start Val

表示起始數值。

  • End Val

表示結束數值,注意設定的數字範圍跟引數Total Rows匹配。

28.3 GUIX回撥事件處理

滾輪控制元件調節後,可以在回撥函式裡面獲取滾輪數值,回撥程式碼如下:

  • 滾輪控制元件的更新後,可以通過函式gx_scroll_wheel_selected_get獲取當前選中的位置索引,注意是從0開始的。滾輪的控制代碼window.window_numeric_scroll_wheel。
  • 日期更新使用的文字控制元件Prompt,大家通過滾輪設定時間後,點選Promp檔案控制元件所在位置就會更新為最新的設定數值。

gx_prompt_text_set(&(window.window_prompt), buf);

28.4 實驗例程設計框架

本章例程的重點是滾輪控制元件的使用方法。

28.5 實驗例程

(注,如果是電阻屏,需要做觸控校準,校準方法看本教程附件章節A)

配套例子:

本章節配套了如下兩個例子供大家移植參考:

  • V7-2039_GUIX Scroll Wheel

GUIX Studio生成的程式碼在硬體平臺實際執行的工程,含有GCC,IAR,MDK AC5和AC6四個版本工程。

  • V7-2040_GUIX Studio Scroll Wheel

GUIX Studio工程模板,設計介面後,生成的檔案可直接新增到MDK,IAR和GCC軟體平臺使用。

實驗目的:

  1. 本章主要學習GUIX的滾輪控制元件引數調節。

實驗內容:

1、共建立瞭如下幾個任務,通過按下按鍵K1可以通過串列埠列印任務堆疊使用情況

  • App Task Start任務 :啟動任務,這裡用作BSP驅動包處理。
  • App Task MspPro任務 :訊息處理,這裡用作LED閃爍。
  • App Task UserIF任務 :按鍵訊息處理。
  • App Task GUI任務 :GUI應用任務。
  • App Task STAT任務 :統計任務。
  • App Task IDLE任務 :空閒任務。
  • GUIX System Thread :GUI系統任務。
  • System Timer Thread任務:系統定時器任務。

實驗效果:

GUIX Studio的介面設計如下:

串列埠列印任務執行情況:

IAR,MDK AC5和AC6工程可以串列埠列印任務執行情況:按開發板的按鍵K1可以列印,波特率 115200,資料位 8,奇偶校驗位無,停止位 1:

Embedded Studio(GCC)平臺的串列埠列印是通過其除錯元件SEGGER RTT做的串列埠列印,速度也非常快,列印效果如下:

展示裡面有亂碼是因為Embedded Studio不支援中文。

28.6 總結

本章節主要為大家講解了滾輪控制元件的使用方法,非常實用,大家可以嘗試自己也建立一個滾輪控制元件效果展示。

微信公眾號:armfly_com 安富萊論壇:www.armbbs.cn 安富萊淘寶:https://armfly.taobao.com