NXP DSC 系列教學 01 GPIO & Timer Interrupt

關鍵字 :NXPDSCMC56F82748

一、簡介

1.1 目的

此文件讓使用者了解如何透過 CodeWarrior 來設定 NXP DSC 晶片的 GPIO與 Timer interrupt 功能應用。

 

1.2 說明

使用原廠 NXP DSC TWR-56F8200 ( Chip : MC56F82748 ) 開發版做GPIO ( GPIOE0 ) 輸出設定,並且搭配 Timer interrupt 每 500ms做 GPIO 輸出High 與 Low 切換的動作。

 

1.3 準備工具 :

  1. 電腦
  2. 原廠開發版 TWR-56F8200 ( Chip : MC56F82748 )
c. 示波器或邏輯分析儀

TWR-56F28748 EVM:

 

二、CodeWarrior 軟體設定操作步驟

2.1 執行軟體開發工具 CodeWarrior

執行 CodeWarrior 軟體程式,開始 -> 點選 CodeWarrior



2.2 新建 Workspace

選擇一個路徑當 Workspace,它就像使用者帳號一樣,你可以在這個 Workspace 裡面新建許多專案。設定路徑 -> 點選 OK


2.3 顯示CodeWarrior 標準介面如下


2.4 開啟新專案

點選 File -> New -> Bareboard Project



2.5 設定專案名

設定一個專案名 “GPIO_Timerinterrupt” -> Next


2.6 選擇裝置,點選目前使用的 DSP 裝置 “MC56F82748”-> Application -> Next


2.7 選擇燒錄溝通方式

勾選 “P&E USB MultiLink Universal [FX] / USB MultiLink”和 “Open Source JTAG”-> Next



2.8 選擇撰寫語言

點選 “C”-> Next


2.9 設定 Processor Expert

點選 Processor Expert -> 點選 Use current perspective -> 點選 Standalone -> Finish



2.10 新建專案中,請耐心等候


2.11 專案完成後,主要介面視窗如下,這些視窗可以自行調整位置

專案區 : 你所建的專案資料夾

目前專案元件區 : 你所點選的專案裡面的所有元件

專案元件新增與設定區 : 新增與設定專案元件內容

訊息區 : 提醒訊息區



2.12 新建一個 Processor Expert GPIO 功能

點選專案 -> Components Library -> Categories -> Port I/O -> BitIO -> Add to project


2.13 設定 Processor Expert GPIOE0

(1) 對已新增的 ”Bit1:BitIO ”元件連續點擊滑鼠左鍵兩下

(2) 選擇 GPIO 腳位“GPIOE0”(EVM Header J501 的第 11 pin)

(3) 選擇“BitIO_LDD”當一般 GPIO

(4) 選擇此 GPIO 為 “Output”

(5) 選擇此 GPIO 初始狀態值為 Low “0”


2.14 設定 GPIO 輸出反向的 function code

點選 Methods -> 在 NegVal 的 Value 內容 改成 “Generate code”


2.15 確認設定 GPIOE0 沒有錯誤,而且Compiler 專案沒有錯誤

點選 Save -> 點選 Generate Processor Export code -> 點選 Build Project -> 顯示Compiler 沒有錯誤


2.16  新增一個 Timer Interrupt function

點選 Components Library -> Timer -> 對TimerInt 元件連擊滑鼠左鍵兩下


2.17 設定 Timer Interrupt function

(1) 滑鼠指標對 TI1:TimerInt 圖示連擊滑鼠左鍵兩下

(2) 點選設定 Interrupt period

(3) 設定 Value = 500ms

(4) 點選 OK



2.18 確認設定 Timer Interrupt 沒有錯誤,而且Compiler 專案沒有錯誤

點選 Save -> 點選 Generate Processor Export code -> 點選 Build Project -> 顯示Compiler 沒有錯誤


2.19 確認 Timer 中斷程式區

請到左邊專案目錄欄位的 Sources 資料夾裡面找到 Events.c -> 連續點滑鼠左鍵兩下打開 Event.c 確認有中斷副程式 void TI1_OnInterrupt ( void )



2.20 加入GPIO 反向功能程式在 Timer 中斷程式裡面

Components -> Bit1:BitIO -> 把 ”NegVal ”拉住滑鼠左鍵,拖曳到中斷副程式裡面

( Note : 必須要放在 /* Write your code here  … */  的下面 )


2.21 Compiler 專案

點選專案資料夾 GPIO_TimerInterrupt -> 點選 Build -> 確認訊息視窗沒有問題




2.22 到此完成 CodeWarrior 程式設定。


三、燒錄程式驗證結果

3.1 硬體架設

硬體架設如下圖,請把 EVM TWR-56F82748透過 USB 連接 PC,再來利用 Logic analyzer 或是示波器連接 EVM 的 Header J501



3.2 連接 EVM,進入 Debug mode

點選專案 -> 點選 debug 下拉選單 -> 點選 Debug Configurations…

 

3.3 連接 EVM,進入 Debug mode

點選 CodeWarrior -> 點選 GPIO_TimerInterrupt_FLASH_SDM_PnE U-MultiLink -> 點選 Debug



3.4 燒錄程式

視窗右下角會顯示開始燒錄程式


3.5 執行程式

完成燒錄程式後請點左上角的執行程式鍵,程式就會開始執行


3.6 可以觀察示波器或是邏輯分析儀,我們可以發現 GPIO 訊號在每 0.5秒 ( 500ms ) 就會做一次 High 或是 Low 的反向動作



3.7 完成驗證

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

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論