Il y a un truc que je comprend pas dans les codes suivants.
Ca c'est le code d'une fonction :
J'y déclenche une boucle qui doit se répéter 10 fois et ça semble bien fonctionner
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 void Maj_Date() { //Le booléen passe à faux DCF77 = false; //Boucle de x cycles avec sortie si DCF77 = true while (essai < 10) { static uint8_t longueur = 0; bool trame_decodee = decodeurDCF77.traiterSignal(digitalRead(PIN_DCF77), millis()); Serial.print("Oui"); if (trame_decodee) { Serial.print(' '); //Serial_printDCF77(); DCF77 = true; Serial.print("Oui"); } if (longueur > decodeurDCF77.longueur_trame_en_cours()) { longueur = 0; Serial.println(); essai = essai + 1; Serial.print("Nombre d'essai :"); Serial.print(essai); Serial.println(); } while (longueur < decodeurDCF77.longueur_trame_en_cours()) { Serial.print(decodeurDCF77.bit_trame(longueur++)); } } }
Mais là ou je ne comprend pas c'est pour cette boucle :
Selon moi, elle devrait se dérouler sans sortir tant que longueur est < à la longueur de trame du DCF77 non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 while (longueur < decodeurDCF77.longueur_trame_en_cours()) { Serial.print(decodeurDCF77.bit_trame(longueur++)); }
Or ça n'est pas le cas.
Pour tester, j'ai mis un Serial.print en dehors de cette boucle et il est répété indéfiniment
Je ne comprend pas
Partager