Autor Tema: Problema FAT16-SD  (Leído 1167 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado aripod

  • PIC16
  • ***
  • Mensajes: 170
Problema FAT16-SD
« en: 30 de Octubre de 2012, 19:06:48 »
Hola a todos,
Estoy usando la libreria FAT16 de suky para poder grabar un txt en una sd de 1gb. A la tarjeta la puedo inicializar, leer y escribir, pero no en fat, es decir, la puedo usar como una gran memoria externa por asi decirlo.
Al momento de incluir la FAT16 de suky, es donde estoy teniendo problemas. Una vez que me asegure que se inicializo la sd, hago lo siguiente:

Código: [Seleccionar]
if(FAT_init()==1){
if(FAT_CreateFile(NombreLargo,NombreArchivo,DirectorioRaiz,Texto)==0)

La FAT_init() la hace bien. Compruebo que lo que lee del sector 0 de la sd sea lo mismo que estoy viendo en el winhex.
Dentro de la FAT_CreateFile, tiene "sub" funciones:
1: FAT_FindFreeEnt, las ultimas dos lineas son:
Código: [Seleccionar]
   *NSecFree=j;
   *AddDir=i;
Tanto i como j son siempre cero cuando la tarjeta fue formateada en windows7 y no se le escribio nada.

Luego, pasa a NClus=FAT_FindClusFree(), cuando lee el sector SecFAT1+j, para j=0, el sector siempre es CERO, esta vacio. Para este caso, cuando j=0, SecFAT1 vale 6. No deberia valer CERO? Ya que la FAT esta en el sector CERO y no hay nada mas escrito en la sd?
Por esta razon, EntClus vale siempre cero y FAT_FindClusFree retorna cero y nunca llega el codigo hasta FAT_CreateEntFAT ni FAT_DefineFile.

Espero haber sido lo mas claro posible. Muchas gracias por cualquier ayuda que puedan darme.


 

anything