Je fais un test avec des sondes DS18B20 et j'ai voulu utiliser la fonction math round.
La fonction en elle même donne le résultat escompté, mais suivi d'un "Â" bisare non ???
Avez-vous déjà eu ce probleme ?
Merci.
Un bout de code pour voir ?
J'ai ca au début mais pas obligatoire
#include <math.h>
et vers la fin :
celsius = (float)raw / 16.0;
fahrenheit = celsius * 1.8 + 32.0;
Serial.print(" Temperature = ");
Serial.print(celsius);
Serial.print(" (");
Serial.print(round(celsius)); <== C'est là qu'est placé mon round
Serial.print("°C)");
Serial.print(" Celsius, ");
Serial.print(fahrenheit);
Serial.println(" Fahrenheit");
Ce que j'obtiens dans la console :
ROM = 28 86 32 2D 5 0 0 99
Chip = DS18B20
Data = 1 8E 1 4B 46 7F FF 2 10 2 CRC=2
Temperature = 24.87 (25°C) Celsius, 76.77 Fahrenheit
ROM = 28 FB 87 27 5 0 0 CD
Chip = DS18B20
Data = 1 8B 1 4B 46 7F FF 5 10 3A CRC=3A
Temperature = 24.69 (25°C) Celsius, 76.44 Fahrenheit
No more addresses.
Rien de bien grave.
C'est juste le signe spécial ° (degré) qui s'affiche ° avec Serial.print
Les signes accentués (é à è ...) ont aussi des affichages étranges.
Si j'ai bien compris, pas d'accents ou de signes particuler.
Merci pour ton aide.
remplace ton
Serial.print("°C)");
par
Serial.write(176);
Serial.write('C');
C'est ton sketch qui n'a pas le même code d'encodage (UTF-8) que la console série (Latin-1).
Soit tu évites les accents, soit tu convertis le sketch en Latin-1