Comment définir les bits dans un octet variable (Arduino)
Ma question serait Arduino spécifique, bien que si vous savez comment le faire en C, il sera semblable dans l'IDE Arduino.
J'ai donc 5 variables de type entier:
r1, r2, r3, r4, r5
Leur valeur 0 (désactivé) ou 1 (on).
Je tiens à les stocker dans une variable d'octet appelons-le relais, non pas par l'ajout d'eux, mais la définition de certains bits de 1/0 si elles sont 0 ou 1.
Par exemple:
1, 1, 0, 0, 1
Je voudrais avoir exactement la même valeur dans mon relais est variable d'octet, pas
r1+r2+r3+r4+r5 qui dans ce cas serait décimal 3, binaire 11.
Merci!
OriginalL'auteur user3329848 | 2014-02-19
Vous devez vous connecter pour publier un commentaire.
Je recommande l'utilisation d'un SYNDICAT d'une structure de bits. Il ajoute une clarté et la rend facilement transportable. Vous pouvez spécifier unique ou de n'importe quelle taille de bits adjacents. Avec rapidement les réarranger.
Où vous pouvez étendre cette UNION à être plus grande que les octets
Note u_int8_t est le même que d'un octet.
Vous pouvez même élargir l'union à un tableau d'octets et ensuite envoyer les octets sur le port série ou d'une horloge hors individu comme un mot long, etc... voir plus de vastes exemple.
Vous m'avez sauvé par cette magie des syndicats!
OriginalL'auteur mpflaga
Comment sur:
Ou dans l'autre sens:
Voir édité réponse.
OriginalL'auteur Filipe Gonçalves