![]()
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. ➜ déplacé vers le forum francophone.
Merci de prendre en compte les recommandations listées dans "Les bonnes pratiques du Forum Francophone”
ne faites pas des String... ça sert à rien et vous prend de la mémoire
vous pouvez écrire une petite fonction qui fait l'impression d'un 0 si la valeur est inférieure à 10
void imprimeSurDeuxDigits(uint8_t valeur) {
if (valeur < 10) Serial.write('0');
Serial.print(valeur);
}
ça donnerait un truc comme cela (pour sortie sur la console série)
#include <ds3231.h> //Librairie à installer
struct ts t; // module RTC
void imprimeSurDeuxDigits(uint8_t valeur) {
if (valeur < 10) Serial.write('0');
Serial.print(valeur);
}
void setup() {
Serial.begin(9600);
DS3231_init(DS3231_INTCN);
}
void loop()
{
DS3231_get(&t);
imprimeSurDeuxDigits(t.hour);
Serial.write(':');
imprimeSurDeuxDigits(t.min);
Serial.write(':');
imprimeSurDeuxDigits(t.sec);
Serial.println();
delay(1000); // attente bloquante de 1s
}
vous pouvez écrire de la même manière en plusieurs fois dans le fichier, pas la peine de bâtir la chaîne complète en mémoire
sinon vous pouvez utiliser snprintf() (mais ça prend plus de mémoire)