J'ai programmé un Engduino pour mesurer la température dans la pièce en utilisant sa thermistance et sortir les valeurs au port série; quand le programme commence, il sort "start temp" et quand le programme se termine, il sort "end temp", et entre les deux sorties la valeur de température toutes les 2 secondes. J'utilise .readString dans Processing pour lire ces valeurs lors de leur mesure..equals n'évalue jamais à vrai dans le traitement
String str = myEngduino.readString();
if(str!=null){
println(str);
}
Ce code fonctionne très bien et les valeurs en cours d'impression à la console sont en effet « start temp », puis les températures qu'elles sont lues, puis « temp fin » lorsque le programme se termine. Je ne comprends pas pourquoi l'instruction if dans ce code évalue jamais vrai:
String str = myEngduino.readString();
if(str!=null){
println(str);
if(str.equals("start temp")){
println("START");
}
}
str est certainement réglé sur « start temp », car il est imprimé à la console, alors pourquoi pas mon cas déclaration évaluer à vrai à ce stade?