Я хочу создать несколько каталогов, представляющих даты, например «11.03.24», но похоже, что функция SD.mkdir () возвращает false всякий раз, когда я использую специальные символы в своем пути. Как ни странно, SD удается создать каталоги, в именах которых есть только 1 специальный символ, например «@ / fasdaf /».
Разрешено использовать специальные символы в библиотеке SD?
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}Serial.print("Initializing SD card...");
if (!SD.begin(8)) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");
if(SD.mkdir("vdfa/3143#2123/fasfd")){
Serial.println("Succesfully created directory");
}
if(SD.mkdir("!")){
Serial.println("Succesfully created directory1");
}
if(SD.mkdir("@")){
Serial.println("Succesfully created directory2");
}
if(SD.mkdir("#")){
Serial.println("Succesfully created directory3");
}
if(SD.mkdir("$")){
Serial.println("Succesfully created directory4");
}
if(SD.mkdir("%")){
Serial.println("Succesfully created directory5");
}
if(SD.mkdir("^")){
Serial.println("Succesfully created directory6");
}
if(SD.mkdir("&")){
Serial.println("Succesfully created directory7");
}
if(SD.mkdir("*")){
Serial.println("Succesfully created directory8");
}
void loop(){
}
Я получаю «Успешно создано» для 1, 2, 3, 4, 5 и 7, но не в первом случае код работает без специального символа
Если вы хотите сохранить даты, используйте стандарты:
DD_MM_YY (or any combination)
DD-MM-YY (or any combination)
DDMMYY (or any combination)
или, как написал Марк Сетчелл, используйте любые символы, которые НЕ перечислены на этой странице.
Я нашел решение своей проблемы, когда я вставлял эти символы в свои строки, сами символы были не проблемой, а максимальной длиной папки, которая составляет 8 символов, и я превышал ее. Теперь все в порядке, ура!