Diferencia entre revisiones de «shiftIn()»

De ArduWiki
Saltar a: navegación, buscar
(Vea también)
(Vea también)
Línea 34: Línea 34:
 
* [[highByte()]]
 
* [[highByte()]]
 
* [[shiftOut()]]
 
* [[shiftOut()]]
 +
* [[not bit a bit]] - (<nowiki>~</nowiki>)
 +
* [[and bit a bit]] - (<nowiki>&</nowiki>)
 +
* [[or bit a bit]] - (<nowiki>|</nowiki>)
 +
* [[xor bit a bit]] - (<nowiki>^</nowiki>)
 +
* [[bitshift left]] - (<nowiki><<</nowiki>)
 +
* [[or bit a bit compuesto]] <nowiki>(|=)</nowiki>
 +
* [[and bit a bit compuesto]] <nowiki>(&=)</nowiki>
 +
* [[EEPROM]]
  
 
== Referencias ==
 
== Referencias ==

Revisión del 00:06 5 may 2019

Descripción

Recibe en un byte de datos un bit cada vez desde un pin. Comienza a partir del bit más significativo (más a la izquierda)(MSB) o menos significativo (más a la derecha)(LSB). Para cada bit, el pin de reloj pasa a nivel alto, el siguiente bit se lee de la línea de datos y a continuación el pin de reloj pasa a nivel bajo.

Sintexis

shiftIn(dataPin, clockPin, bitOrder);

Parámetros

dataPin
aqui pondrás el puerto a leer.
clockPin
es el pin que comandara el cambio (reloj)
bitOrder
puede ser MSBFIRST (Primero el bit más significativo) o LSBFIRST (Primero el bit menos significativo).

Retorna

Retorna el byte leido.

Advertencias

  • Si vamos a interactuar con un dispositivo que está sincronizado por flancos de subida (RISING), necesitamos asegurarnos de que el pin de reloj está en estado LOW antes de la primera llamada a shiftIn() con una llamada a digitalWrite(pinReloj, LOW).

Comentarios

  • Esta es una aplicación por software; Arduino también proporciona un bus SPI que es la complementación por hardware, más rápida, pero sólo funciona en pines específicos.

Ejemplo

Vea también

Referencias