Quelqu'un peut-il expliquer et me dire comment avoir le bon chiffre entier pour les grands nombres ?
(notez que j'affiche le flottant avec printf car println me donne un overflow...)
Il doit y avoir une histoire entre C99, C89 et C11.
Je n'ai pas d'ESP32 mais il est possible que ce soit similaire à ce qui se passe avec un Arduino DUE. Imprimer un uint64_t X se fait comme ceci:
printf(" %llu \n", X); // Noter llu pour Long Long unsigned
En revanche printf() avec des floats ou double floats ne fonctionne pas car cette option a été exclue à la compilation pour restreindre la taille du fichier. Donc je dois utiliser Serial.println() pour un loat comme pour un double float. A noter aussi qu'il est tout à fait possible de réintégrer cette option à la compilation moyennant une manip qu'il faudrait rechercher....
à ce moment là, on aurait probablement printf(" %lf \n", MyDoubleFloat);
Mes ESP32 aiment dormir longtemps et avec çe petit ULL ils peuvent hiberner !
#define uS_TO_S_FACTOR 1000000ULL /* Conversion factor for micro seconds to seconds */
#define TIME_TO_SLEEP XXXXXXX /* Time ESP32 will go to sleep (in seconds) */