最終更新:2010-02-26 (金) 03:50:01 (5174d)  

shiftOut
Top / shiftOut

http://www.arduino.cc/en/Tutorial/ShiftOut

shiftOut(dataPin, clockPin, bitOrder, value)

1バイト分のデータを1ビットずつ「シフトアウト」します。最上位ビット(MSB)と最下位ビット(LSB)のどちらからもスタートできます。各ビットはまずdataPinに出力され、その後clockPinが反転して、そのビットが有効になったことが示されます。

void loop() {
  // LED1からLED8までを順に光らせます
  for (int j = 0; j < 7; j++) {
    // 送信中のlatchPinはグランド(LOW)レベル
    digitalWrite(latchPin, LOW);
    // シフト演算を使って点灯するLEDを選択しています
    shiftOut(dataPin, clockPin, LSBFIRST, 1<<j);
    // 送信終了後latchPinをHIGHにする
    digitalWrite(latchPin, HIGH);
    delay(100);
  }
}

関連

素のAVR方式

参考