uControl
Marzo 30, 2017, 05:53:10 *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: 1 ... 9 10 11 12 13 [14]   Ir Abajo
  Imprimir  
Autor Tema: SD Card. Librería FAT16, Librería a Nivel Hardware, (CCS,C18,C30, ect...)  (Leído 73256 veces)
0 Usuarios y 1 Visitante están viendo este tema.
danis0194
PIC10F
*
Desconectado Desconectado

Mensajes: 2


« Respuesta #195 : Abril 30, 2015, 02:55:46 »

Hola kaliche26 muchas gracias por reponder

La verdad es que intente hacer lo que me dijiste reemplazando esa parte del codigo en el archivo FAT16.c. Pero de todos modos la memoria HC no me respondio y la que me grababa que era una memoria SD normal tampoco me funciono despues de la modificacion. Por esta razon me gustaria preguntarte como reemplazar correctamente esa parte del codigo.(Al reemplazar el codigo en ccs, el compilador me boto error porque unas variables no estaban previamente definidas(FAT_PrimerSector,MBR_TamanioSectores)asi que las cree, pero no se si eso fue correcto). duda  coloco parte del codigo para que me puedas correguir si encuentras mi fallo. Muchas grasias de antemano. Y perdon si cometi algun error  grave.

Código:
UINT16_VAL BPB_BytsPerSec, BPB_RsvdSecCnt, BPB_RootEntCnt, BPB_FATz16;
UINT16 FirstRootDirSecNum, SecFAT1, SecFAT2, FAT_PrimerSector;
UINT32 BytesPerClus, MBR_TamanioSectores;

/*******************************************************************************/
/** \brief Inicia FAT, leyendo primer sector de memoria determinando parámetros del sistema de archivos.-
   
   \param Ninguno
   \return  1 si la inicializacion es correcta, 0 caso contrario.-
*/
   #define FAT_Offset_Primer_Sector 0x1C6 //Primer sector de la primera parte.
#define MBR_OTS 0x1CA //offset del tamaño en sectores, del volumen sin formatear.
BOOL FAT_init(void){                               

   if(SDCard_read_block(0,BufferFAT)==0){
      return(0);
   }
   if(BufferFAT[0]!=0xEB && BufferFAT[0]!=0xE9){
      // Offset del primer sector de la primera particion
      FAT_PrimerSector=make16(BufferFAT[FAT_Offset_Primer_Sector+1],BufferFAT[FAT_Offset_Primer_Sector]);
      MBR_TamanioSectores=make32(BufferFAT[MBR_OTS+3],BufferFAT[MBR_OTS+2],BufferFAT[MBR_OTS+1],BufferFAT[MBR_OTS]);

      if(SDCard_read_block(FAT_PrimerSector*512,BufferFAT)==0){
         return(0);
      }
   }
En línea
EduardoDavila
PIC10F
*
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1



« Respuesta #196 : Marzo 07, 2017, 05:44:36 »

Qué tal, Suky.
Intento compilar el ejemplo que publicaste de la librería FAT16 para C18, pero me muestra el siguiente mensaje MPLAB:

"C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin\mplink.exe"    -p18f4620  -w  -m"dist/default/production/memoria.X.production.map"  -z__MPLAB_BUILD=1  -u_CRUNTIME -l "C:\Program Files (x86)\Microchip\mplabc18\v3.47\bin"\\..\\lib  -o dist/default/production/memoria.X.production.cof  build/default/production/FAT16.o build/default/production/HardwareSPI.o build/default/production/SDCardSPI.o build/default/production/main.o   
MPLINK 5.00, LINKER
Device Database Version 1.17
Copyright (c) 1998-2013 Microchip Technology Inc.
Error - section '.udata_FAT16.o' can not fit the section. Section '.udata_FAT16.o' length=0x00000215
Errors    : 1"

¿A que piensas que se refiere?
Saludos y muchas gracias por tu posible respuesta.
En línea
Páginas: 1 ... 9 10 11 12 13 [14]   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2011, Simple Machines
SMFAds for Free Forums
XHTML 1.0 válido! CSS válido!
Página creada en 0.062 segundos con 24 consultas. (Pretty URLs adds 0.007s, 2q)