Convertir un entier binaire en ascii(arduino) ??

Fermé
ahmed_7871 Messages postés 2 Date d'inscription dimanche 27 octobre 2019 Statut Membre Dernière intervention 27 octobre 2019 - 27 oct. 2019 à 14:50
ahmed_7871 Messages postés 2 Date d'inscription dimanche 27 octobre 2019 Statut Membre Dernière intervention 27 octobre 2019 - 27 oct. 2019 à 14:56
Je suis bloquer, si qelq1 peut m'aider. mon prob est le suivant:

Comment écrire un programme (en Langage C) qui converti un entier binaire en décimal.

j'ai réussis a créer un prog qui converti un entier décimal en binaire, mais j'ai bloquer dans le sens contraire !!

si qelq1 peut m'aider et Merciii d'avance.

1 réponse

Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 325
27 oct. 2019 à 14:52
0
ahmed_7871 Messages postés 2 Date d'inscription dimanche 27 octobre 2019 Statut Membre Dernière intervention 27 octobre 2019
Modifié le 27 oct. 2019 à 14:57
void decoding() {

        

          byte messageDecode[141]; // buffer où je stocke le message provenant du canal optique une fois qu’il est décodé, il doit etre au max de 140 caracteres

          if (LDR) { //si mon capteur détecte un signal IR,

        Serial.println(" signal détecté pour la premiere fois ");

           unsigned char nbreCaractere=0; //compteur du nombre de bits décodés

            Serial.println(" ToutAzéroRegistre ");

            unsigned long PrevLOW=800;

            while (nbreCaractere < 141) { // tant que le message n’excede pas 140 caracteres,

              char caractere = 0;

              char i = 0;

          Serial.println(" new octet ");

              while (i < 8) {

                if (LDR) { // s il y a un front montant,

                  unsigned long timeLOW = 0; //temps au bout duquel on ne detecte pas de lumiere IR

                  unsigned long timeHIGH = 0; //temps au bout duquel on detecte de la lumiere IR

                  if (LDR) { //si on detecte,

                    while (LDR) {

                      timeHIGH++;

                    }//prendre un chronometre pour le temps d’allumage
                    }if (!(LDR)){ // si on ne detecte pas,

                    while (!(LDR) && (timeLOW < 400) ) {

                      timeLOW++;

                    }//prendre un chronometre pour le temps d’extinction

                  }

                  char BIT = (timeLOW < timeHIGH); //decider du bit décodé en fonction des temps d allumage et d’extinction

                  Serial.print(byte(BIT));

                  caractere = (caractere << 1) + BIT; // ajouter le bit décodé a l octet

                  i++; //passer au bit suivant

                }

                else { //si on ne detecte pas un front montant, c’est à dire pas de bit en transmission dans la canal optique

                  i = 8; // alors arrete le decodage bit a bit (et sortir de la boucle)

                Serial.println(" je sors octet ");

                }

              }

              Serial.println(" je sors caractere ");

              if (byte(caractere) > 0) {

                messageDecode[nbreCaractere] = byte(caractere);

                nbreCaractere++;
              }

              else {
                nbreCaractere = 141;
              }

              Serial.println(byte(nbreCaractere));

              Serial.print(caractere);

            }

            Serial.println(" sortie finale ");

          }

          if ( byte(nbreCaractere) > 0)

            Serial.print(" sortie finale finale ");

        }


laiq je ne recoi pas n'import caractere mrs
0