SD Dateinamen länge

Salüü zusammen ich habe folgendes problem das mir die dateien nicht erstellt werden… sobald ich den datei Namen kürze gehts… ihrgendwelche ideen?

#include <SPI.h>
#include <SD.h>
File myFile;

void setup() {
 // Open serial communications and wait for port to open:
 Serial.begin(9600);
 Serial.print("Initializing SD card...");

 if (!SD.begin(15)) {
   Serial.println("initialization failed!");
   return;
 }
 Serial.println("initialization done.");
 
 String dateiNamen = "2017/09_September_2017.csv";
 char dateiNamenArray[30];
 dateiNamen.toCharArray(dateiNamenArray, 30);
 Serial.print("erstelle file mit pfad/name: ");
 Serial.println(dateiNamenArray);
 myFile = SD.open(dateiNamenArray, FILE_WRITE);
 myFile.close();
}

void loop() {
}

File Naming

FAT file systems have a limitation when it comes to naming conventions. You must use the 8.3 format, so that file names look like “NAME001.EXT”, where “NAME001” is an 8 character or fewer string, and “EXT” is a 3 character extension. People commonly use the extensions .TXT and .LOG. It is possible to have a shorter file name (for example, mydata.txt, or time.log), but you cannot use longer file names. Read more on the 8.3 convention.

Aus: Some things to keep in mind when using the SD Library

String dateiNamen = "2017/09_September_2017.csv";

Geht es denn ohne subdirectory ?

Dass String Objekte dir das Leben nur unnötig schwer machen, weisst du hoffentlich.

  char Name[13] = "2017_09.csv";  // Sollte völlig reichen
  FILE myFile = SD.open(Name, FILE_WRITE);
  myFile.close();

combie:
Aus: Some things to keep in mind when using the SD Library

Danke hab ich nicht gesehen somit erübrigt sich das..

michael_x ja das werde ich dann wohl so machen...

MihiGyver:
ihrgendwelche ideen?

Mit der Zeile “#include <SD.h>” inkludierst Du in Deinem Sketch die Standard-SD-Library von Arduino, die NUR KURZE Dateinamen gemäß der 8.3 Namenskonvention beherrscht.

Es gäbe von einem Drittanbieter aber auch die SDFAT Library, die Du auch für “lange Dateinamen” konfigurieren kannst.