【NXP GUI Guider 技術手冊】建立專案透過 GUI 控制硬體 (下)

一.介紹

GUI Guide 是基於 LVGL 上的圖形化介面,提供可視化 UI 設計,大幅降低 GUI 設計上難度,可透過模擬功能預先確認畫面設計功能搭配 NXP MCUXpresso 可直接將所創建 GUI 燒錄到 i.MX RT 系列及其他支援的系列,本文以 i.MX RT 為例進行如何修改調整 GUI Guider 並燒錄到 i.MX RT 並調整專案進而控制硬體層。



本篇基於 "【GUI Guider 技術手冊】建立專案透過 GUI 控制硬體 _ 1" 講述如何溝通硬體層面達到 GUI 介面與硬體互動步驟。

 

二.環境

1.     MCUXpresso v11.8.0

2.     SDK RT1170 v2.14.0

3.     RT1170 EVK

 4.     GUI Guider V1.6.1

 

三.導入 MCUXpresso

1.     GUI Guider 上點選下所圖所示位置,會開啟專案所在位置資料夾,將位置複製。

            

 

2.     開啟 MCUXpresso 後在 project explorer 點選 import project,在 import 視窗點選 Existing Project into Workspace

3.     import 視窗中 Select root directory 欄填入剛剛複製 GUI Guider 專案位置,會搜尋到 MCUXpresso 專案,確保 option 均未被勾選後點選 Finish,專案即被導入 MCUXpresso

 

4.     此時可看到 GUI Guider 專案已被匯入,在專案上點選右鍵,選擇 MCUXpresso Config Tools > Open Pins

  

5.     此時開啟 MCUXpresso 配置畫面,在 1 處輸入 M13,點選 2 處,在 pin 處勾選 GPIO9,將此 pin 配置為 GPIO

 

 6.     在下方 Routing Details M13 Pin 配置為 OutputGPIO initial state 設定為 Logical 0

 

7.     點選 Update Code ,會出現Update Files 顯示會修改的檔案,點選 Change 可確定修改的部分,確認無誤後點選 OK

 

8.     開啟專案 generated > event_init.c

 

9.     在開頭新增 #include “board.h,在第 64 blueCounter_btn_1_event_handler 中新增控制 GPIO High/Low API

 

 

GPIO_PinWrite(GPIO9, 3U, 0U);  //LED off

GPIO_PinWrite(GPIO9, 3U, 1U);  //LED on

 

10. 此時可以進行燒錄並透過 GUI 按鈕控制 LED,觀察開發版綠色 LED是否有亮滅,在專案點右鍵 Debug As > MCUXpresso IDE LinkServer進行燒錄。

 

11. 接下來透過前段配置的 evk_btn_counter 紀錄按下數量並透過 UART 印出,在 lvgl_guider.c main 中確認在 GUI Guider 中有配置 debug console 並配置為 UART1

 

 

12. generated > event_init.c 開頭新增

#include "fsl_debug_console.h"

int ledCounter = 0;


















 

13. blueCounter_btn_1_event_handler 新增

 
























lv_event_code_t code = lv_event_get_code(e);

char inputBuffer[50];

switch (code) {

case LV_EVENT_CLICKED:

{

ledCounter++;

if(g_toggleLED == false){

g_toggleLED = true;

GPIO_PinWrite(GPIO9, 3U, 0U);

sprintf(inputBuffer,"%d",ledCounter);

lv_label_set_text(guider_ui.blueCounter_evk_btn_counter,inputBuffer);

sprintf(inputBuffer,"LED off,%d\r\n",ledCounter);

PRINTF(inputBuffer);

}else{

g_toggleLED = false;

GPIO_PinWrite(GPIO9, 3U, 1U);

sprintf(inputBuffer,"%d",ledCounter);

lv_label_set_text(guider_ui.blueCounter_evk_btn_counter,inputBuffer);

sprintf(inputBuffer,"LED on,%d\r\n",ledCounter);

PRINTF(inputBuffer);

}

break;

}

default:

break;

}

 

 

14. 將程式燒錄到 RT1170 EVK

15. 開啟 Terminal (Tera term , PuTTY ) ,點選 LED 按鍵此時可看到 LED Counter 有正確在計數,Terminal 有正確些收到計數,LED 可以根據 UI 按鍵控制,至此已介紹完如何新增 UI 按鈕並控制硬體底層方式。

 



















                    

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能