Estoy tratando de registrar algunos datos, así que si no los borro, a veces es
Es difícil decir dónde terminan los nuevos datos.
Si está registrando datos ASCII, esto no es un problema. Simplemente reserve caracteres especiales para 'los datos comienzan aquí' y 'los datos terminan aquí'. Incluso si estás registrando datos binarios, puede valer la pena cambiar la codificación a algo como base64 ( enlace ) para hacerte especial. caracteres para controlar su secuencia de datos (las tarjetas de memoria GB son baratas y base64 solo introduce un 33% de sobrecarga de datos).
Como alternativa, puede tener un archivo adicional que contenga los límites de datos para sus archivos de registro como una cantidad de bytes. Sin embargo, esto será un problema con una interfaz tan limitada como petitFAT, ya que solo puede abrir un solo archivo a la vez. Dependiendo de la cantidad de RAM y memoria de programa que pueda ahorrar en su MSP430, puede considerar cambiarse a una implementación FAT con más funciones.
Si llamo a la función pf_write por interrupción del temporizador, ¿cómo puedo hacer
escribelo a MMC? Por lo que he leído, parece que tengo que
¿Terminar de escribir y reiniciarlo de nuevo? Por ejemplo, esta línea pf_write (0,
0, & bw);
En un registrador simple que no hace nada más que escribir secuencialmente en un solo archivo, no debería tener que llamar a pf_write(0,0,&bw)
hasta que cierre su dispositivo por completo. (Puede o no ser necesario hacerlo antes de buscar otra posición).
Si absolutamente quieres mantener tu idea de 'sobrescribir todo el archivo', puedes probar si primero obtener el tamaño del archivo y luego escribir bloques más grandes de %code%
s en lugar de bytes simples te da una aceleración significativa.