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

如果 LED 腳位變動

如果,我們在 Blink 程式中,如果腳位變換,將數位腳位13變動到數位腳位8,讀者可參考下圖所示之 LED 測試連接電路圖(腳位八),進行電路組立。

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

讀者也可以參考下表之腳位說明,進行電路組立。

表3 LED 測試接腳表

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

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

讀者回頭看上表所示之 Blink 範例程式(Blink),我們發現,關於 D13這個腳位,出現在行數20、行數25、行數27,共三處,此時我們僅將 D13這個腳位改變到D8這個腳位,小小簡單的 Blink 範例程式(Blink),就需要修改三處,那更複雜的程式豈不更多,如果一處沒有修改到,豈不是變成臭蟲(Bugs)或隱藏性的臭蟲(Bugs)。

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

#define Blink_Led_Pin 8

之後所有用到 D13的地方,都修改為『Blink_Led_Pin』,轉成如下表所示之 Blink_使用 DEFINE 範例程式,將程式編譯完成後,上傳到開發板進行測試。

表4 Blink_使用 DEFINE 範例程式

Blink_使用 DEFINE 範例程式(Blink_D8)

#define Blink_Led_Pin 8

 

// 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=f_Bkc_MPkCg&feature=youtu.be,看到本次實驗- Blink_使用 DEFINE 範例程式(Blink_D8)結果畫面。

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

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

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

下一頁還有更多教學唷 !!

曹永忠
作者

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

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