Diferencia entre revisiones de «SD.exists()»
De ArduWiki
(→Ejemplo) |
(→Ejemplo) |
||
Línea 25: | Línea 25: | ||
void setup() { | void setup() { | ||
− | + | if (!SD.begin(chipSelect)) { | |
− | + | Serial.println("SD fallo, esta puesta ?"); | |
− | + | while (1); | |
− | + | } | |
− | + | Serial.println("SD lista."); | |
− | + | char nombre[13]; | |
− | + | unsigned int contador = 0; | |
− | + | sprintf(nombre, "DATA%04d.CSV", contador); | |
− | + | while (SD.exists(nombre)) { | |
− | + | if (++contador > 9999) { //Si ya se agotaron los cuatro dígitos, no queda de otra que sobrescribir desde la 0000. Lo malo es que esto siempre lo haría si llegara a suceder. | |
− | + | contador = 0; | |
− | + | sprintf(nombre, "DATA%04d.CSV", contador); | |
− | + | break; | |
− | + | } | |
− | + | sprintf(nombre, "DATA%04d.CSV", contador); | |
− | |||
− | |||
} | } | ||
− | + | archivo = SD.open(nombre, FILE_WRITE | O_TRUNC); | |
− | + | //A este punto ya es cuestión de solamente usar la instancia. | |
} | } | ||
Revisión del 23:36 5 may 2019
Contenido
Descripción
Verifica si la ruta hacia cierto elemento (archivo o carpeta) realmente existe.
Sintaxis
SD.exists(ruta);
Parametros
- ruta
- ruta hacia el archivo o carpeta que se pretende verificar, o sólo el nombre para ubicarlo en la "raíz" (string o String).
Retorna
true si el elemento existe en dicha ubicación, false en caso contrario (bool).
Advertencias
Nada.
Ejemplo
Similar al ejemplo 2 de SD.open(), solo que utilizando esta función.
#include <SPI.h>
#include <SD.h>
File archivo;
void setup() {
if (!SD.begin(chipSelect)) {
Serial.println("SD fallo, esta puesta ?");
while (1);
}
Serial.println("SD lista.");
char nombre[13];
unsigned int contador = 0;
sprintf(nombre, "DATA%04d.CSV", contador);
while (SD.exists(nombre)) {
if (++contador > 9999) { //Si ya se agotaron los cuatro dígitos, no queda de otra que sobrescribir desde la 0000. Lo malo es que esto siempre lo haría si llegara a suceder.
contador = 0;
sprintf(nombre, "DATA%04d.CSV", contador);
break;
}
sprintf(nombre, "DATA%04d.CSV", contador);
}
archivo = SD.open(nombre, FILE_WRITE | O_TRUNC);
//A este punto ya es cuestión de solamente usar la instancia.
}
void loop() {
///Nada
}