Leírás
1 byte adatot fogad bitenként egy megadott lábról. Az adatátvitel az első és az utolsó bit irányából is kezdődhet. Mindegyik bitnél az órajel lábat magas szintre kapcsoljuk, majd kiolvassuk az adathoz tartozó láb tartalmát, ezután az órajel láb ismét alacsony szintet vesz fel, pl. a digitalWrite hívásával (clockPin, LOW).
Ha olyan készülékkel kívánunk kommunikálni, amely csak felfutó jelet képes értelmezni órajelként, akkor gondoskodnunk kell róla, hogy a kommunikáció megkezdése előtt alacsony szintre állítsuk az órajel lábat, a digitalWrite(clockPin, LOW) utasítással.
Megjegyzés: ez egy szoftveres megvalósítás; Az Arduino SPI könyvtárat is biztosít, amely a hardveres kiépítést használja, amely gyorsabb, de csak meghatározott lábakon működik.
Szintaxis
bejövő byte = shiftIn(dataPin, clockPin, bitOrder)
paraméterek
dataPin: az a láb, ahonnan az egyes biteket ki kívánjuk olvasni. Megengedett adattípusok: int.
clockPin: órajel láb, ezzel közöljük az adó készülék részére, hogy éppen adatra várunk
bitOrder: ezzel határozzuk meg, hogy milyen sorrendben várjuk a biteket; akár MSBFIRST, akár LSBFIRST. (Először az első vagy az utolsó bit érkezik a byte-ból).
Eredmény
Az olvasott érték. Adattípus: byte.