Este proyecto es una implentación simple de un controlador para sistemas de archivos FAT16/32.
El controlador es capaz de recorrer directorios y ver sus contenidos. Si se encuentran archivos, pueden leerse tambien.
Los archivos pueden ser leidos en pedazos de datos seleccionables que deben ser multiplos de 2. Por ejemplo, los datos pueden ser obtenidos en buffers de 1, 2, 4, 8, 16, 32, 64, 128, 256 y 512 bytes. El tamaño máximo permitido es de 512 bytes. Cualquier otro tamaño del buffer podría producir lecturas de datos basura o un loop infinito en alguna parte del programa.
Estoy 100% seguro que esta implementación del controlador no esta libre de errores, por lo tanto si encuentras algo que podría ser un error, házmelo saber. Si eres lo suficientemente bueno para resolverlo tu mismo, no olvides compartir el código resultante conmigo para que otros puedan beneficiarse. También, estoy seguro de que el código puede ser optimizado para obtener mejor desempeño y/o un código más compacto. Si haces algun cambio al código, las mismas condiciones sobre compartir se aplican.
Este código se proporciona así tal cual, sin ninguna garantía. Usa este código bajo tu propia responsabilidad.
El código provisto es GRATUITO PARA USO PERSONAL. Si necesitas usar el código para uso comercial, no dudes en contactarme para llegar a un arreglo.
Si haces algun projecto interesante usando este código, por favor házmelo saber para mencionarlo aquí. Gracias!
Si quieres saber más detalles sobre los sistemas de archivos FAT32, puedes leer el artículo “Understanding FAT32 Filesystems” escrito por Paul Stoffregen.
El artículo puede ser encontrado en http://www.pjrc.com/tech/8051/ide/fat32.html
Descargas:
A partir del 10 de Marzo de 2010, la libreria FAT ha sido renombrada a nanoFAT-lib y su código fuente está disponible a través de Google Code en http://code.google.com/p/nanofat-lib/. No dudes en visitar la página principal del proyecto para obtener más detalles.
