2011年7月5日 星期二

2.1) Blink part 1

實驗目的
讓一顆燈號閃爍,每隔一秒切換一次燈號。
材料
  • Arduino 主板 x 1
  • LED x 1
接線
  • 把 LED 接到 Arduino 板子上,LED 長腳 (陽極) 接到 pin13,短腳 (陰極) 接到 GND,如下圖:
image
程式碼

先來看 Arduino 版本的 Blink 程式:

這是 Arduino 的入門程式,相信你應該很熟悉。

Arduino 與 AVR 腳位對應關係圖可知,PB5 就是 pin 13,所以現在我們可以改用 I/O Ports 暫存器重新改寫程式:

PB5 是 PortB 的 bit 5,所以我們用  (1 << 5) 當作位元遮罩 (bit mask)。 要特別注意的是,在設定 DDRx 暫存器的時候,1 是代表 OUTPUT,而 0 是代表 INPUT。

在下一篇中,我們將使用 _BV() 巨集把這支程式變得清晰易讀一些。

延伸閱讀

2 意見:

Yu-Shan Hsiao 提到...

Hello! 你這系列的文章真的淺顯易懂!
對初學者真的很有幫助~
另外第二篇介紹LED _BV()巨集使用的文章連結似乎失效了

Cooper Maa 提到...

不客氣,拋磚引玉,希望有專門寫書的作家可以把這些概念寫得更容易懂。

你是說這個連結嗎?
http://coopermaa2nd.blogspot.tw/2011/04/bv.html