Go Down

Topic: Sortir de la boucle  principale LOOP (Read 797 times) previous topic - next topic

harima2

Bonjour à tous..
Une question qui semble simple, mais je n'ai pas encore trouvé de solution.

Est il possible.. d'arréter le programme (de sortir de a boucle Loop).?

Précisément je cherche à lire une carte SD, et sortir du programme lorsqu'il n'y a pus rien à lire.

J'utilise:
while ((c = file.read()) >= 0) Serial.print((char)c);

mais même losqu'il n'y a pus rien à lire, le terminal continue à afficher des "points" (dont je ne retrouve même pas le code ASII)..

des idées....?

interlol

Je ne connais pas file.read() alors je te dirais simplement de vérifier que cette méthode renvoie bien une valeur négative en fin de fichier, ou alors de remplacer par:
Code: [Select]
while ((c = file.read()) != -1) ...
par exemple si le "code d'erreur" est -1.

Quant au caractère ASCII du point qui s'affiche, j'imagine que c'est comme tout les autres éditeurs "hexa-decimaux" (là j'ai un doûte sur la version française), il affiche un point quand c'est un caractère qui n'a aucune représentation graphique (par exemple 0x00 ou '\n' ou '\' ou plein d'autres encore)

yalefe

#2
Jul 09, 2009, 07:42 am Last Edit: Jul 09, 2009, 08:43 am by yannick Reason: 1
le probleme n'est pas lié au Tant que  mais plutot à ce qui se passe après...

je vais utliser une image :

ta ligne de code ressemble à çà

Code: [Select]
Tant qu'il pleut ....  ne pas sortir les poubelles


certes mais que se passe t-il lorsqu'il ne pleut plus ???

dans ton exemple, il faudrait nous dire ce qu'il ya  comme code ensuite

harima2

#3
Jul 09, 2009, 11:48 pm Last Edit: Jul 09, 2009, 11:56 pm by harima2 Reason: 1
Non,
j'ai essayé :
"while ((c = file.read()) != -1) ...
mais çà ne marche pas non plus..

Tant pis ce n'est pas bien grave,

J'ai déjà un autre problème plus embetant ...

Merci quand même

Go Up