Descrição
Recebe um byte de dados, um bit de cada vez. Começa com ou o bit mais significante (o mais à esquerda) ou o menos significante (mais à direita). Para cada bit, o pino de clock é colocado em estado em HIGH, o próximo bit é lido no pino de dados (data), e então o pino é colocado em estado LOW novamente.
Se está conectando um dispositivo que funciona a partir da borda de subida sinal de clock, você irá precisar garantir que o pino de clock está em estado LOW antes da primeira chamada de shiftIn()
, ex. chamando digitalWrite(clockPin, LOW)
.
Nota: essa é uma implementação por software; O Arduino também provê uma biblioteca SPI que faz a implementação em hardware, que é mais rápida, mas apenas funciona em pinos específicos.
Sintaxe
byte incoming = shiftIn(dataPin, clockPin, bitOrder)
Parâmetros
dataPin
: o pino no qual receber cada bit (int).
clockPin
: o pino alternado para sinalizar uma leitura de dataPin.
bitOrder
: em que ordem receber os bits; pode ser MSBFIRST ou LSBFIRST.
Correspondendo respectivamente a primeiro o bit mais significativo (Most Significant Bit First), ou o primeiro o bit menos significativo (Least Significant Bit First)
Retorna
O valor lido (byte).