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
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
A voir également:
- Convertir un entier binaire en ascii(arduino) ??
- Ascii - Guide
- Convertir youtube en mp3 tuto - Guide
- Codage binaire - Guide
- Convertir une note sur 20 ✓ - Forum Bureautique
- Convertir pdf en word excel gratuit - Guide
1 réponse
Chris 94
Messages postés
50787
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
17 février 2023
7 570
27 oct. 2019 à 14:52
27 oct. 2019 à 14:52
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