Diferencia entre revisiones de «shiftIn()»

De ArduWiki
Saltar a: navegación, buscar
(Página creada con «== Descripción == == Sintexis == <pre> </pre> == Parámetros == == Retorna == == Advertencias == Nada. == Ejemplo == <pre> </pre> == Vea tambien == * tone() * ...»)
 
(Vea también)
 
(No se muestran 18 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
 
== Descripción ==
 
== 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 ==
 
== Sintexis ==
 
<pre>
 
<pre>
 +
shiftIn(dataPin, clockPin, bitOrder);
 
</pre>
 
</pre>
  
 
== Parámetros ==
 
== 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 ==
 +
Retorna el byte leido.
  
 
== Advertencias ==
 
== Advertencias ==
Nada.
+
* 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).
 +
 
 +
== 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 ==
 
== Ejemplo ==
<pre>
+
<syntaxhighlight lang="c++">
</pre>
+
</syntaxhighlight>
  
== Vea tambien ==
+
== Vea también ==
* [[tone()]]
+
<categorytree mode=all>Funciones bit y byte</categorytree>
* [[noTone()]]
+
<categorytree mode=all>Operador bit a bit</categorytree>
* [[pulseIn()]]
 
* [[pulseLnLong()]]
 
* [[shiftIn()]]
 
* [[shiftOut()]]
 
* [[sizeof()]]
 
  
== 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