範例-數位訊號

  • 主題 - 控制基板上內建LED不同燈號的亮暗狀況 (附電腦控制LED的介面)

接下來,慢慢進入真正的"互動裝置"主題了,由前面的幾個小範例,慢慢串起來,是不是隱約的SHOW出了的基板與電腦的溝通功能,它根據我們使用者輸入的字元(字碼),回應相同的字元。現在,這個例子會加上更進階的功能,讓玩家針對輸入的特定字元去做執行特定的動作

也就是說,學習完成這個例子之後,玩家先經由設定好的晶片核心程式,預設一些固定動作讓電腦直接對基板下達控制字元指令。以這個先前的LED閃爍範例來加以擴充,將介紹如何使用這個方法來改變基板上的LED燈狀態(數位輸出),然後也會回傳結果到電腦螢幕來作顯示。

簡單來說,就是....

當我們按下鍵盤的按鍵<0>時,等於就是命令了LaunchPad執行改變紅色LED燈(P1.0)的燈號。同樣的

當使用者按下鍵盤的<6>會電腦USB傳送至LaunchPad,然後基板綠色LED燈號(P1.6)會隨著輸入按一次而改變狀態

再按一次又改變一次,並回應一個字元6至螢幕。

  • 程式流程圖

  • 上傳程式碼到基板

請參照<初次使用整合開發環境>步驟,再貼上程式碼,即可運作。

  • 原始程式碼

原始程式碼UART_Digital_Output.c
  • 程式碼說明

    • Receive()

這裡的主程式碼部分,大多都是延續了先前範例中有關於傳送+接收功能,本範例中又特別將Receive()的接收功能獨立寫成一個函數,提高了原始碼的易讀性與方便以後的擴充其他字元按鍵的使用。

另外使用到switch()函式,這個新增的功能能夠讓基板如何辨別出按鍵與相對應的功能關係,讓LaunchPad基板變成一塊可以接受特定字元指令,而驅動開關的電子控制板

  • 完成!!用電腦按鍵去 控制LED

  • 使用者按鍵<0>會電腦傳送至LaunchPad,然後基板LED燈號<紅>會隨著輸入而改變,並回應0至螢幕,相同的

  • 使用者按鍵<6>會電腦傳送至LaunchPad,然後基板LED燈號<綠>會隨著輸入而改變,並回應6至螢幕。

    • switch()

  • 實際操作影片! 用電腦按鍵去 控制LED

進階應用1 - 連接上LED擴充板,由鍵盤的數字按鍵0-7依序控制LED燈號。

焊上8個LED燈,選用綠燈因為色彩比較有對比感覺

組合上基板之後,由上到下依序是LED0 LED1 LED2 LED3 LED4 LED5 LED6 LED7 LED8。實際上我們連接USB到電腦,所以P1.1 與P1.2的線路當作傳送與接收用途,所以LED1 與LED2不被控制。

載入晶片核心程式就可以開始玩了,請看以下影片!!

    • 原始程式碼

原始程式碼UART_Digital_Output_Plus_Full_8LED.c - 副本

    • 進階應用2 - 電腦操作GUI介面控制LED燈亮暗狀態

>>>> 安裝檔案此處下載 <<<< http://sdrv.ms/QUIab5

嗯~每次控制LED都需要這樣開啟通訊埠程式,是不是有點麻煩,不過,之後我們有更好的方法,將會介紹如何用電腦介面程式,直接按LED燈號改變。

完成!! 實際操作LED8 GUI影片