Beschreibung
Shiftet ein Byte von Daten, 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
byte incoming = shiftIn(dataPin, clockPin, bitOrder)
Parameter
dataPin
: Der Pin, auf dem jedes Bit eingegeben wird. Erlaubte Datentypen: int
.
clockPin
: Der Pin, auf dem das Signal gesetzt wird, um den dataPin zu lesen
bitOrder
: Welche Ordnung verwendet werden soll, um zu shiften. Entweder ist dies MSBFIRST oder LSBFIRST.
(Most Significant Bit First oder Least Significant Bit First)
Rückgabewert
Den gelesenen Wert. Datentyp: byte
.