DDRD: 這是數據方向註冊(Data Direction Register)的縮寫,專為D埠(Port D)設計。
這註冊決定了與它相關的腳位是輸入還是輸出。
1 代表該腳位為輸出。
0 代表該腳位為輸入。
例如,DDRD = B11110000; 將腳位 D7 到 D4 設置為輸出,而 D3 到 D0 設置為輸入。
PORTD: 這是數據註冊(Data Register),也是專為D埠設計的。
當與DDRD註冊相關的腳位被設置為輸出時,PORTD 註冊會控制該腳位的高低電平狀態。
ex. PORTD = B11000000; 腳位 D7 和 D6 設置為高電平,而 D5 到 D0 則維持在低電平。
Arduino程式碼
byte index = 0; const byte LEDs[10] = { B1111110, B0110000, B1101101, B1111001, B0110011, B1011011, B1011111, B1110000, B1111111, B1111011 }; void setup() { DDRD = B11111111; //0~7 腳位,全部設定為"輸出" } void loop() { //From LEDs 陣列中,取出 0~9 元素 //首先取第0個元素,由"埠口D"輸出 PORTD = LEDs[index]; index ++; // index = index +1; 每次 loop 時 index + 1 //確保 index 在0~9循環,當index=10, 賦其值為0 if (index == 10){ index = 0; } delay(1000); }
程式碼ino檔
github下載
參考資料
:超圖解Arduino 互動設計入門