Description :
Déplace un octet de données un bit à la fois. Commence à partir du bit le plus significatif (c’est-à-dire le plus à gauche) ou le moins significatif (le plus à droite). Chaque bit est écrit à tour de rôle sur une broche de données, après quoi une broche d’horloge est pulsée (prise élevée, puis faible) pour indiquer que le bit est disponible.
Remarque – si vous vous connectez à un appareil cadencé par des fronts montants, vous devez vous assurer que la broche d’horloge est basse avant l’appel à shiftOut()
, par exemple avec un appel à digitalWrite(clockPin, LOW)
.
Il s’agit d’une implémentation logicielle ; voir également la bibliothèque SPI , qui fournit une implémentation matérielle plus rapide mais ne fonctionne que sur des broches spécifiques.
Syntaxe :
shiftOut(dataPin, clockPin, bitOrder, value)
Paramètres :
dataPin
: la broche sur laquelle sortir chaque bit. Types de données autorisés : int
.
clockPin
: la broche à basculer une fois que la dataPin a été définie sur la valeur correcte. Types de données autorisés : int
.
bitOrder
: dans quel ordre décaler les bits ; MSBFIRST ou LSBFIRST. (Bit le plus significatif en premier ou Bit le moins significatif en premier).
value
: les données à déplacer. Types de données autorisés : byte
.
Retour :
Rien
Exemple de code :
Pour le circuit d’accompagnement, voir le tutoriel sur le contrôle d’un registre à décalage 74HC595 .
Remarques et avertissements :
Le dataPin et le clockPin doivent déjà être configurés comme sorties par un appel à pinMode()
.
shiftOut est actuellement écrit pour sortir 1 octet (8 bits), il faut donc une opération en deux étapes pour sortir des valeurs supérieures à 255.
Source : https://www.arduino.cc/reference/en/language/functions/advanced-io/shiftout/