Convertir un entier binaire en ascii(arduino) ??

ahmed_7871 Messages postés 2 Statut Membre -  
ahmed_7871 Messages postés 2 Statut Membre -
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

  1. Chris 94 Messages postés 1937 Date d'inscription   Statut Modérateur Dernière intervention   7 536
     
    0
    1. ahmed_7871 Messages postés 2 Statut Membre
       
      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