Por favor una pregunta: Estoy haciendo un programa que guarda algunos registros (log) en un archivo de la tarjeta SD, pero no logro usar la función write de la clase File, para guardar una estructura que manejo en memoria creada con struct. Por favor si alguien me puede indicar como hacer para que el compilador acepte.
Tengo la siguiente estructura:
typedef struct
{
long hora;
byte tipo,dato1;
} miEstructura;
Luego tengo un arreglo de 10 registros de la estructura anterior:
miEstructura arreglo[10];
Entonces en un lugar de mi programa, necesito grabar uno de los registros de de ese arreglo en un archivo de la tarjeta SD, y aquí es donde tengo el problema, no logro hacerlo.
SD.begin();
File ar;
ar = SD.open(F("archivo.txt"),FILE_WRITE);
byte a=x; //calculo cuál de las posiciones del arreglo necesito guardar en el archivo
ar.write(arreglo[a],sizeof(miEstructura)); //esta llamada a write no sé cómo hacerla
El compilador no acepta esto que hago, lanza el siguiente error:
error: no matching function for call to 'SDLib::File::write(miEstructura&, unsigned int)'
Hice algunos intentos variando la forma de llamar, incluidos intentos con punteros, pero no logro que el compilador me deje hacerlo. Por favor si me pueden echar un cable.