Diferencia entre revisiones de «shiftOut()»
De ArduWiki
(Página creada con «== Descripción == == Sintexis == <pre> </pre> == Parámetros == == Retorna == == Advertencias == Nada. == Ejemplo == <pre> </pre> == Vea tambien == * tone() * ...») |
|||
Línea 1: | Línea 1: | ||
== Descripción == | == Descripción == | ||
+ | Desplaza en un byte de datos un bit a cada vez. Comienza a partir del bit más significativo (más a la izquierda) o menos significativo (más a la derecha). Cada bit se escribe a su vez en un pin de datos, después de lo cual un pulso de reloj se activa (pasa a nivel alto, y a continuación, a nivel bajo) para indicar que el bit está disponible. | ||
== Sintexis == | == Sintexis == | ||
<pre> | <pre> | ||
+ | shiftOut(dataPin, clockPin, bitOrder, valor); | ||
</pre> | </pre> | ||
Línea 13: | Línea 15: | ||
== Ejemplo == | == Ejemplo == | ||
− | < | + | <syntaxhighlight lang="c++"> |
− | </ | + | int latchPin = 8; |
+ | int clockPin = 12; | ||
+ | int dataPin = 11; | ||
+ | void setup() { | ||
+ | pinMode(latchPin, OUTPUT); | ||
+ | pinMode(clockPin, OUTPUT); | ||
+ | pinMode(dataPin, OUTPUT); | ||
+ | } | ||
+ | void loop() { | ||
+ | for (int j=0; j<256; j++) { | ||
+ | digitalWrite(latchPin, LOW); | ||
+ | shiftOut(dataPin, clockPin, LSBFIRST, j); | ||
+ | //devuelve el latch pin a nivel alto indicando que ya no necesita escuchar la información | ||
+ | digitalWrite(latchPin, HIGH); | ||
+ | delay(1000); | ||
+ | } | ||
+ | } | ||
+ | </syntaxhighlight> | ||
== Vea tambien == | == Vea tambien == |
Revisión del 18:16 26 jun 2018
Contenido
Descripción
Desplaza en un byte de datos un bit a cada vez. Comienza a partir del bit más significativo (más a la izquierda) o menos significativo (más a la derecha). Cada bit se escribe a su vez en un pin de datos, después de lo cual un pulso de reloj se activa (pasa a nivel alto, y a continuación, a nivel bajo) para indicar que el bit está disponible.
Sintexis
shiftOut(dataPin, clockPin, bitOrder, valor);
Parámetros
Retorna
Advertencias
Nada.
Ejemplo
int latchPin = 8;
int clockPin = 12;
int dataPin = 11;
void setup() {
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop() {
for (int j=0; j<256; j++) {
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, j);
//devuelve el latch pin a nivel alto indicando que ya no necesita escuchar la información
digitalWrite(latchPin, HIGH);
delay(1000);
}
}