shiftOut()
Beschreibung
Shiftet ein Byte von Daten hinaus, ein Bit pro Zeiteinheit. Beginnt entweder mit dem most significant bit (linkestes Bit) oder dem least significant bit (rechtestes Bit). Für jedes Bit wird der clock pin HIGH geschalten. Anschließend wird das nächste Bit gelesen und der clock pin auf LOW gesetzt.
Wenn du mit einem Gerät arbeitest, das bei steigender Flanke die clock auslöst, musst du darauf achten, dass der clock pin LOW ist, bevor das erste Mal shiftIn() aufgerufen wird. Das ist z.B. möglich mit einem Aufruf von digitalWrite(clockPin, LOW).
Bemerkung: Das ist eine Softwareimplementierung; Arduino bietet auch eine SPI-Bibliothek an, die eine Hardwareimplementierung benutzt. Diese ist zwar schneller, funktioniert aber nur mit spezifischen Pins.
Syntax
shiftOut(dataPin, clockPin, bitOrder, value)
Parameter
- dataPin: Der Pin, auf dem jedes Bit ausgegeben wird. Erlaubte Datentypen: int.
- clockPin: Der Pin, auf dem das Signal gesetzt wird, um den dataPin zu lesen. Erlaubte Datentypen: int.
- bitOrder: Welche Ordnung verwendet werden soll, um zu shiften. Entweder ist dies MSBFIRST oder LSBFIRST.
- (Most Significant Bit First oder Least Significant Bit First)
- value: Die Daten, die hinausgeshiftet werden sollen. Erlaubte Datentypen: byte.
Rückgabewert
Nichts.
Beispielcode
Für eingebaute Schaltkreise beachte das Tutorial, wie man ein 74HC595 Shift-Register verwendet.
※ Anmerkungen und Warnungen:
Der dataPin und der clockPin müssen vorher als Outputs konfiguriert sein. Dies wird mit dem Aufruf von pinMode() erreicht.
shiftOut shiftet aktuell maximal 1 Byte (8 bits) hinaus. Wenn Werte größer 255 hinausgeshiftet werden sollen, benötigt das Register 2 Schritte.
Siehe Auch
- Sprache : noTone()
- Sprache : pulseIn()
- Sprache : pulseInLong()
- Sprache : shiftIn()
- Sprache : tone()
※ ARDUINO KAUFEMPFEHLUNG
Arduino UNO R3 | |
Arduino Starter Kit |