Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

PORTDをつかってArduinoのレジスタをまとめて設定する

PORTDは、D系列……つまりデジタルピンの0〜7をまとめて設定できる機能です。
Arduinoはこういうのはラッピングされて無いと思ってたのですが……ちゃんとありました。

実際のところ

Blinkをベースに。
DDRDでレジスタをまとめて設定し、あとはPORTDで都度設定です。
この例だと自販機のライトみたいに右から左へ流れます。
数値は右から始まり。
TXとRX用に0と1は開けておきます。

void setup() {
  DDRD = B11111100;
}

// the loop function runs over and over again forever
void loop() {
  PORTD = B00000100;
  delay(100);              // wait for a second
  PORTD = B00001000;
  delay(100);              // wait for a second
  PORTD = B00010000;
  delay(100);              // wait for a second
}