fuite de mémoire et datalogguing !

Bon j'y comprend rien j'ai trafiqué le code de ma fonction et maintenant sa marche mais je suis incapable de dire pourquoi!!! :astonished:
enfin merci de ton aide et voici le code de la fonction qui je pense peut servire a d'autre :wink:

void DattaLog(){

  char nomfichier [13];
  long fin;
  boolean fichierok;
  sprintf(nomfichier, "%02i%02i%04i.txt", day, month, year);//affichage heure et date
  sprintf(Buff_afichage, "%02i:%02i:%02i", hour, min, sec);//impresion heure
 
  fichierok= SD.exists(nomfichier);
  
  file =SD.open(nomfichier, FILE_WRITE);
  if(file==true){
  if (fichierok==false) {
    
      file.print(F("Fichier du : "));
      file.print(day);
      file.print(F("/"));
      file.print(month);
      file.print(F("/"));
      file.println(year);
      file.print(F("heure de lever : "));
      file.print(int(Time_ON/3600));
      file.print(F("H"));
      file.println(int(float (Time_ON)/60-(floor(float(Time_ON)/3600)*60)));
      file.print(F("heure de coucher : "));
      file.print(int(Time_OFF/3600));
      file.print(F("H"));
      file.println(int(float (Time_OFF)/60-(floor(float(Time_OFF)/3600)*60)));
      file.print(F("Duree d'eclairage : "));
      file.print((float(Time_OFF)-float(Time_ON))/3600);
      file.println(F("H"));
      file.println(F("les donnees sont au format suivant : "));
      file.println(F("temps;Temperature piece; Temperature Terra; humidite Piece "));
      file.print(Buff_afichage);
      file.print(F(";"));
      file.print(temp_sonde[sonde_piece]);
      file.print(F(";"));
      file.print(temp_sonde[sonde_terra]);
      file.print(F(";"));
      file.println(HumiditePiece);
      };
 if (fichierok==true) {
      fin=file.size();
      file.seek(fin+1L); 
      file.print(Buff_afichage);
      file.print(F(";"));
      file.print(temp_sonde[sonde_piece]);
      file.print(F(";"));
      file.print(temp_sonde[sonde_terra]);
      file.print(F(";"));
      file.println(HumiditePiece);
};
};
  file.close();
  return;
}