This page is also available in 3 other languages

shiftIn()

[I/O Avanzato]

Descrizione

Fa "scorrere" un byte di dati da un dispositivo esterno all’arduino, un bit alla volta. Può partire sia dal bit più significativo ( il primo a sinistra ) che dal meno significativo ( l’ultimo a destra ). Per ogni bit, il pin di clock viene impostato su HIGH, il bit successivo viene letto dalla linea dati, quindi il pin di clock torna nello stato LOW.

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

byte datiInArrivo = shiftIn(dataPin, clockPin, bitOrder)

Parametri

dataPin: il pin dal quale leggere ogni bit (int)

clockPin: il pin usato per segnalare una lettura da dataPin

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 )

Restituisce

il valore letto (byte)