Estoy usando un PIC18F4620 y un compilador XC8. Estoy intentando crear un archivo y enviarlo a la tarjeta SD. Estoy usando la biblioteca MDD de MLA Legacy. Mi principal es:
FSFILE * file;
char sendBuffer[22] = "This is test string 1";
//**************************************************
// main function
//**************************************************
int main()
{
initIO();
PORTBbits.RB0 = 0;
while(1)
{
// Initialise SPI and SD-card
while ( !MDD_MediaDetect() )
;
MDD_SDSPI_InitIO();
MDD_SDSPI_MediaInitialize();
// Initialize the library
while ( !FSInit() )
;
#ifdef ALLOW_WRITES
// Create a new file
file = FSfopenpgm ( "FILE.TXT", "w" );
if ( file == NULL )
while(1);
// Write 21 1-byte objects from sendBuffer into the file
if ( FSfwrite ( (void *) sendBuffer, 1, 21, file ) != 21 )
while(1);
// Close the file
if ( FSfclose ( file ) )
while(1);
#endif
MDD_SDSPI_SectorWrite(TAG_SECTOR_START, file, FALSE);
// Delay10KTCYx(100000000);
PORTBbits.RB0 = 1; //LED
}
return (0);
}
¿El código se ve bien? No estoy seguro de la función MDD_SDSPI_SectorWrite y no sé cómo encontrar la dirección del sector en el que quiero escribir el archivo. Sé que el manejo de errores es malo. Lo cambiaré eventualmente.