Diferencia entre revisiones de «shiftIn()»

De ArduWiki
Saltar a: navegación, buscar
(Advertencias)
(Vea también)
 
(No se muestran 12 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
 
== Descripción ==
 
== Descripción ==
Desplaza en un byte de datos un bit cada vez. Comienza a partir del bit más significativo (más a la izquierda) o menos significativo (más a la derecha). 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.  
+
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 ==
 
== Sintexis ==
Línea 16: Línea 16:
  
 
== Advertencias ==
 
== Advertencias ==
* Si vamos a interactuar con un dispositivo que está sincronizado por flancos de subida [[RISING / FALLING|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).
+
* Si vamos a interactuar con un dispositivo que está sincronizado por flancos de subida ([[RISING / FALLING|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).
* Esta es una implementación de software; Arduino también proporciona una biblioteca SPI que usa la implementación por hardware, que es más rápida pero solo funciona en pines específicos.
 
  
 
== Comentarios ==
 
== Comentarios ==
Línea 26: Línea 25:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== Vea tambien ==
+
== Vea también ==
* [[bit()]]
+
<categorytree mode=all>Funciones bit y byte</categorytree>
* [[bitClear()]]
+
<categorytree mode=all>Operador bit a bit</categorytree>
* [[bitRead()]]
 
* [[bitSet()]]
 
* [[bitWrite()]]
 
* [[lowByte()]]
 
* [[shiftOut()]]
 
  
== Referencias ==
+
== Referencias externas ==
 +
* [https://www.arduino.cc/reference/en/language/functions/advanced-io/shiftin/ Guia de referencia]
 +
* [https://www.prometec.net/funciones1/ Funciones de Arduino] - Prometec
  
[[Category:Funciones]]
+
[[Category:Funciones bit y byte]]

Revisión actual del 17:43 14 jul 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 externas