【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 初學者重要提示
- 務必看第11章學習GUIX Studio的使用方法和第12章學習GUIX Studio生成的程式碼移植到硬體平臺的方法。
- 本章配套例子製作了一個年月日設定案例,實際專案用到的類似場景比較多。
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軟體平臺使用。
實驗目的:
- 本章主要學習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