【MAKER系列】程式設計篇- DEFINE 的運用

使用 INCLUDE 之後 LED 腳位變動

所以我們使用了『#define』這個指令,來替代 D13,把程式開頭處加入:

#define Blink_Led_Pin 8

之後所有用到 D13的地方,都修改為『Blink_Led_Pin』,如果我們在 Blink 這樣的程式中,如果再度腳位變換,將數位腳位13變動到數位腳位3,讀者只需變動 led 腳位,再將下列程式將『Blink_Led_Pin 8』 改為『Blink_Led_Pin 3』進行程式改寫。

#define Blink_Led_Pin 3

【MAKER系列】程式設計篇- DEFINE 的運用
▲圖7 LED 測試連接電路圖(腳位三)

只需將『Blink_Led_Pin 8』 改為『Blink_Led_Pin 3』進行程式改寫,其他地方都不需要改寫,將程式編譯完成後,上傳到開發板進行測試。

表5 Blink_使用 DEFINE 範例程式一

Blink_使用DEFINE範例程式一(Blink_D3)

#define Blink_Led_Pin 3

// the setup function runs once when you press reset or power the board

void setup() {

  // initialize digital pin Blink_Led_Pin as an output.

  pinMode(Blink_Led_Pin, OUTPUT);    //定義Blink_Led_Pin為輸出腳位

}

// the loop function runs over and over again forever

void loop() {

  digitalWrite(Blink_Led_Pin, HIGH);   // 將腳位Blink_Led_Pin設定為高電位  turn the LED on (HIGH is the voltage level)

  delay(1000);              //休息1秒 wait for a second 

  digitalWrite(Blink_Led_Pin, LOW);    // 將腳位Blink_Led_Pin設定為低電位  turn the LED off by making the voltage LOW

  delay(1000);              // 休息1秒 wait for a second

}

程式下載:
https://github.com/brucetsao/arduino_Programming_Trick

讀者也可以在作者 YouTube 頻道(https://www.youtube.com/user/UltimaBruce )中,在網址https://www.youtube.com/watch?v=3AO1_Q39gEo&feature=youtu.be ,看到本次實驗- Blink_使用 DEFINE 範例程式一(Blink_D3)結果畫面。

當然、如下圖所示,我們可以看到 Blink_使用 DEFINE 範例程式一(Blink_D3)結果畫面,

【MAKER系列】程式設計篇- DEFINE 的運用

【MAKER系列】程式設計篇- DEFINE 的運用
▲圖8 Blink_使用 DEFINE 範例程式一(Blink_D3)結果畫面

使用 INCLUDE 之後好處

所以我們使用了『#define』這個指令,宣告腳位變數要使用的所有腳位,並再用到相關腳位時候,所有腳位都用腳位變數來替代,如此,不僅更方便,而且臭蟲(Bugs)會更少,這是又是我們再攥寫 Arduino 程式時,常常使用的一個技巧。希望讀者閱讀本文之後,可以學到這個技巧,並可以熟用這個技巧,在往後將會把程式寫得更加穩定,系統更加龐大,複雜與功能強大,但臭蟲(Bugs)會更少。

最後一頁有後續及筆者介紹唷 !

曹永忠
作者

曹永忠,國立中央大學資訊管理學系博士,目前在暨南大學電機工程學系兼任助理教授與自由作家,專注於軟體工程、軟體開發與設計、物件導向程式設計......並持續發表作相關專業著作。

使用 Facebook 留言
發表回應
謹慎發言,尊重彼此。按此展開留言規則