J'essaie de convertir l'entrée des GPIO d'un pi de framboise à un int. J'ai donc cinq entrées numériques et je veux lire les entrées. Une fois que j'ai eu les valeurs, je les stocke dans un tableau. La prochaine chose serait de convertir le contenu du tableau en un nombre entier.Convertir le signal binaire en nombre int
Alors, voici mon code:
int a = digitalRead(PIN_16);
int b = digitalRead(PIN_18);
int c = digitalRead(PIN_22);
int d = digitalRead(PIN_24);
int e = digitalRead(PIN_26);
int array[5];
array[0]=a;
array[1]=b;
array[2]=c;
array[3]=d;
array[4]=e;
Pour convertir le contenu du tableau à un certain nombre, je youse si les conditions pour voir si la première entrée est 1 ou 0. Si le 1 I a 1, autre 0. Et ainsi de suite ...
Ma question est maintenant s'il y a une façon plus élégante de faire cela.
Que doit être mesuré? (par exemple, quel devrait être le nombre si seulement pin16 est haut) – Lanting
Multipliez chaque valeur par une puissance différente de 2 (ou déplacez-les à gauche de différentes quantités) et ajoutez-les ensemble (ou alternativement, bit-sage-OU ensemble) . Par exemple 'value = (a << 0) | (b << 1) | (c << 2) | (d << 3) | (e << 4); ' –