Hola a todos, les escribo en busca de ayuda
Me encuentro relizando un proyecto el cual tiene como parate uso de una mmc con fat para crear un archivo .txt, estoy programando en c18, es mi primer programa en c18 pero tengo bastante experiencia en assembler y picbasic por lo que tengo problemas que parecen faciles
Para grabar en la sd mmc con un pic 18f452, yo fui a
www.microchip.com y me encontre con la an1045, me baje los archivos y los instale, posteriormente actualice el mplab y procedí a programar con el ejemplo, y me encontré con la sorpresa que no compila, no me reconoce las funciones como FSInit(), pero me conoce FSInit, y cuando uso FSInit() me sale el error con el linker que no puede encontrar la función, yo agregue todas las librerías al directorio y no funciona, que puedo hacer
Lo que me sale en el compilador es lo siguiente
______________________________________________________________________________________________________________________________________
Debug build of project `D:\SD_MMC\borrar\ver c18.mcp' started.
Preprocessor symbol `__DEBUG' is defined.
Sat May 02 06:06:02 2009
----------------------------------------------------------------------
Make: The target "D:\SD_MMC\borrar\ver c18.o" is out of date.
Executing: "C:\MCC18\bin\mcc18.exe" -p=18F452 /i"D:\SD_MMC\borrar" -I"C:\MCC18\h" "ver c18.c" -fo="ver c18.o" -D__DEBUG -Ls
D:\SD_MMC\borrar\ver c18.c:16:Warning [2054] suspicious pointer conversion
D:\SD_MMC\borrar\ver c18.c:20:Warning [2052] unexpected return value
D:\SD_MMC\borrar\ver c18.c:22:Warning [2054] suspicious pointer conversion
D:\SD_MMC\borrar\ver c18.c:22:Error [1131] type mismatch in assignment
D:\SD_MMC\borrar\ver c18.c:27:Warning [2052] unexpected return value
D:\SD_MMC\borrar\ver c18.c:31:Error [1105] symbol 'bfrSize' has not been defined
D:\SD_MMC\borrar\ver c18.c:33:Error [1146] type mismatch in argument 4
D:\SD_MMC\borrar\ver c18.c:34:Error [1105] symbol 'bfrSize' has not been defined
D:\SD_MMC\borrar\ver c18.c:34:Error [1146] type mismatch in argument 4
D:\SD_MMC\borrar\ver c18.c:37:Error [1146] type mismatch in argument 1
Halting build on first failure as requested.
----------------------------------------------------------------------
Debug build of project `D:\SD_MMC\borrar\ver c18.mcp' failed.
Preprocessor symbol `__DEBUG' is defined.
Sat May 02 06:06:07 2009
----------------------------------------------------------------------
BUILD FAILED
______________________________________________________________________________________________________________________________________
y el codigo que estoy usando es
______________________________________________________________________________________________________________________________________
#include "p18f452.h"
#include "FSIO.h"
#include "SD-SPI.h"
#include "FSconfig.h"
#include "salloc.h"
#define bfrsize 5
void main (void)
{
FSFILE *pOldFile, pNewFile;
char myData[20];
char bfr [6];
int bytesRead, bytesWritten;
char newFile[] = "newfile.txt";
char writeArg = "w";
// Must initialize the FAT16/FAT32 library. It also initializes SPI and other related pins.
if( !FSInit() )
// Failed to initialize FAT16 ? do something?
return 1; // Card not present or wrong format
// Create a new file
pNewFile = FSfopen (newFile, writeArg);
// Open an existing file to read
pOldFile = FSfopenpgm ("myfile.txt", "r");
if ( pOldFile == NULL )
// Either file is not present or card is not present
return 1;
// Read 10 bytes of data from the file.
bytesRead = FSfread((void*)myData, 10, 1, pOldFile);
// read bfrSize (5) items (of size 1 byte). returns items count
bytesRead = FSfread( (void *)bfr, 1, bfrSize, pOldFile );
// Write those fifteen bytes to the new file
bytesWritten = FSfwrite ((void *) myData, 10, 1, pNewFile);
bytesWritten = FSfwrite ((void *) bfr, 1, bfrSize, pNewFile);
// After processing, close the file.
FSfclose( pOldFile );
FSfclose (pNewFile);
//Delete the old file
FSremovepgm ("myfile.txt");
}
______________________________________________________________________________________________________________________________________
Realmente no se que hacer
Por su ayuda anticipo mis agradecimientos