Descrizione
Fa "scorrere" un byte di dati, inviandolo dall’arduino ad un dispositivo esterno, un bit alla volta. Può partire sia dal bit più significativo ( il primo a sinistra ) che dal meno significativo ( l’ultimo a destra ). Ogni bit viene assegnato a turno al pin specificato, dopo di che viene generato un impulso sul pin di clock ( portato prima nello stato HIGH, poi LOW ) per indicare che il bit è disponibile.
Se ti stai interfacciando con un dispositivo che è controllato dalle transizioni crescenti del segnale di clock ( LOW → HIGH ), dovrai assicurarti che il pin di clock sia nello stato LOW prima di effettuare la prima chiamata a shiftIn()
, ad esempio con una chiamata a digitalWrite(clockPin, LOW)
.
NOTA: questa è un’implementazione software; Arduino fornisce anche una libreria SPI che usa l’implementazione hardware, che è piu veloce ma funziona solo su pin specifici.
Sintassi
shiftOut(dataPin, clockPin, bitOrder, dati)
Parametri
dataPin
: il pin al quale inviare i dati (int)
clockPin
: il pin che invia l’impulso dopo che il dataPin
è stato impostato al valore corretto (int)
bitOrder
: l’ordine in cui far "scorrere" i bit; può essere MSBFIRST oppure LSBFIRST.
( Prima i bit più significativi, oppure, Prima i bit meno significativi )
dati
: i dati da inviare. (byte)
Restituisce
Nulla