読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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
}