Fichier sur carte SD non horodaté

Salut à tous,
j'écris des fichiers sur une carte SD, jusque là tout va bien....

Il a fallut que j'achète un module RTC DS1307, je l'ai mis en route, nickel....

Je récupère bien ma date et mon heure.... Tout va bien, j'horodate mes fichiers grâce à ça, du type "20170612.csv", nickel....

Sauf que lorsque je lis les fichiers de la carte SD sur mon ordi, dans la colonne "Modifé le", les répertoires et les fichiers sont tous datés du "01/01/20 00:00", voilà c'est là que ça me gène...

Comment faire pour la création des répertoires et des fichiers utilise la RTC installée...

Merci

bonjour,
ceci peut t'aider, trouvé sur la partie anglaise
https://forum.arduino.cc/index.php?topic=348562.0

#include <SPI.h>
#include <SD.h>
#include <Wire.h>
#include <RTClib.h>

File file;  // test file
const uint8_t SD_CS = 10; // SD chip select
RTC_DS1307 RTC;  // define the Real Time Clock object

 char timestamp[30];

//------------------------------------------------------------------------------
// call back for file timestamps
void dateTime(uint16_t* date, uint16_t* time) {
 DateTime now = RTC.now();
 sprintf(timestamp, "%02d:%02d:%02d %2d/%2d/%2d \n", now.hour(),now.minute(),now.second(),now.month(),now.day(),now.year()-2000);
 Serial.println("yy");
 Serial.println(timestamp);
 // return date using FAT_DATE macro to format fields
 *date = FAT_DATE(now.year(), now.month(), now.day());

 // return time using FAT_TIME macro to format fields
 *time = FAT_TIME(now.hour(), now.minute(), now.second());
}
//------------------------------------------------------------------------------
void setup() {
 
 Serial.begin(9600);
 Wire.begin();
 if (!RTC.begin()) {
   Serial.println("RTC failed");
   while(1);
 };
 // set date time callback function
 SdFile::dateTimeCallback(dateTime);
 
  DateTime now = RTC.now();
  sprintf(timestamp, "%02d:%02d:%02d %2d/%2d/%2d \n", now.hour(),now.minute(),now.second(),now.month(),now.day(),now.year()-2000);
  Serial.println("xx");
  Serial.println(timestamp);
 
 
 if (!SD.begin(SD_CS)) {
   Serial.println("SD.begin failed");
   while(1);
 }
 file = SD.open("TEST_SD.TXT", FILE_WRITE);
 file.println("Testing 1,2,3...");
 
 delay(5000);
 file.close();
 Serial.println("Done");
}
//------------------------------------------------------------------------------
void loop() {}

Salut,
Ça c'est nickel, ça marche super bien....

Merci

de rien :wink: