SD card Beispiel

// Globale Variablen

byte fat[SDC_FAT_BUF];

byte fil[SDC_FILE_BUF];

 

void main(void)

{

    // Lokale Variable

    byte res;

    char buf[100];

    word bytes_written[1];

 

    // SD-Card reset

    Port_DataDirBit(13,1);          // PB.5 = Ausgang (EN1)

    Port_DataDirBit(14,1);          // PB.6 = Ausgang (EN2)

 

    Port_WriteBit(13,1);            // EN1 für 50ms auf +5V (PB.5)

    Port_WriteBit(14,0);            // EN2 für 50ms auf GND (PB.6)

 

    AbsDelay(50);                   // 50ms Pause

 

    Port_WriteBit(13,0);            // EN1 GND

    Port_WriteBit(14,1);            // EN2 +5V

 

    // Power on -> SD-Card

    Port_WriteBit(14,1);            // EN2 (PB.6) +5V

 

    AbsDelay(50);                   // 50ms Pause

 

    // SD-Card Fat init

    SDC_Init        (fat);

 

 

    // Neuen Dateiordner erstellen

    SDC_MkDir("0:/CC-PRO");

 

 

    // Ist die Datei bereits vorhanden?

    // Wenn nicht dann wird die Datei angelegt

    res=SDC_FOpen(fil, "0:/CC-PRO/test.txt", FA_READ|FA_WRITE|FA_OPEN_EXISTING);

    if(res!=0)SDC_FOpen(fil, "0:/CC-PRO/test.txt", FA_WRITE|FA_CREATE_ALWAYS);

 

    // Schreibt einen Text in die Datei

    buf= "Hallo... 123!\r\n";

    SDC_FWrite(fil, buf, Str_Len(buf), bytes_written);

    SDC_FSync(fil);

 

    // Datei wird geschlossen

    SDC_FClose(fil);

}