Diferencia entre revisiones de «SD.exists()»

De ArduWiki
Saltar a: navegación, buscar
(Ejemplo)
(Ejemplo)
Línea 25: Línea 25:
  
 
void setup() {
 
void setup() {
  // Inicializamos la tarjeta por supuesto
+
  if (!SD.begin(chipSelect)) {
 
+
      Serial.println("SD fallo, esta puesta ?");
  char nombre[13];
+
      while (1);
  unsigned int contador = 0;
+
  }
 
+
  Serial.println("SD lista.");
  sprintf(nombre, "DATA%04d.CSV", contador);
+
  char nombre[13];
 
+
  unsigned int contador = 0;
  while (SD.exists(nombre)) {
+
  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.
+
      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;
+
        contador = 0;
      sprintf(nombre, "DATA%04d.CSV", contador);  
+
        sprintf(nombre, "DATA%04d.CSV", contador);  
      break;
+
        break;
    }
+
    }
 
+
    sprintf(nombre, "DATA%04d.CSV", contador);
    sprintf(nombre, "DATA%04d.CSV", contador);
 
 
 
 
   }
 
   }
  archivo = SD.open(nombre, FILE_WRITE | O_TRUNC);
+
  archivo = SD.open(nombre, FILE_WRITE | O_TRUNC);
  // A este punto ya es cuestión de solamente usar la instancia.
+
  //A este punto ya es cuestión de solamente usar la instancia.
 
}
 
}
  

Revisión del 19:36 5 may 2019

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
}

Vea también

Referencias