Diferencia entre revisiones de «shiftIn()»
De ArduWiki
(→Vea tambien) |
(→Vea tambien) |
||
Línea 32: | Línea 32: | ||
* [[bitWrite()]] | * [[bitWrite()]] | ||
* [[lowByte()]] | * [[lowByte()]] | ||
− | |||
* [[shiftOut()]] | * [[shiftOut()]] | ||
Revisión del 16:59 27 jul 2018
Contenido
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.
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