Enviar un archivo a una tarjeta SD a través de SPI

1

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.

    
pregunta user2344158

0 respuestas

Lea otras preguntas en las etiquetas