31-FASTFAT-Library (ATMega)

-diese Library dient zum ansteuern der SD-Karte auf
der STAMP “myAVR STAMP 256plus”

-die SD-Karte ist an den SPI-Bus angeschlossen.

-die SD-Karte muss mit dem FAT-Dateisystem formatiert sein

-Filenamen im Format 8+3 -> 8 Zeichen fuer den Filnamen und 3 fuer die Dateiendung

-den Hauptteil von dieser Library habe ich von Roland Riegel FAT16-Dateisystem-Treiber (siehe Copyrighthinweis im Header der Library)

-Es gibt noch eine “einfachere” Library die allerdings langsamer ist.
(MK3_2560_FAT16.h)

Funktionen :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
MK3_SD_READ_FILE_IN_ROOT();   // oeffnet ein File zum lesen
MK3_SD_WRITE_FILE_IN_ROOT();  // oeffnet ein File zum schreiben
MK3_SD_CLOSE_FILE();          // schliesst ein File
 
sd_raw_init();                // init und Check ob eine SD-Karte vorhanden ist
partition_open();             // Partition oeffnen
fat_open();                   // FAT oeffnen
fat_get_dir_entry_of_path();  // ROOT oeffnen
fat_open_dir();               // Directory oeffnen
open_file_in_dir();           // File oeffnen
fat_read_file();              // aus dem File lesen (in einen Puffer)
fat_write_file();             // in das File schreiben (von einem Puffer)
fat_close_file();             // File schliessen
fat_close_dir();              // Directory schliessen
fat_close();                  // FAT schliessen
partition_close();            // Partition schliessen
 
find_file_in_dir();           // Test ob File vorhanden ist
fat_read_dir();               // Directory auslesen
fat_delete_file();            // File loeschen
fat_create_file();            // File anlegen
fat_create_dir();             // Direktory anlegen
fat_move_file();              // File verschieben
fat_seek_file();              // Schreib Pointer verschieben

Beispiel :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
//-----------------------------------------------------------------------------
// Title      : bsp_ub052_mk3_fastfat_w
//-----------------------------------------------------------------------------
// Funktion   : SD-Card Test [WRITE] (mit FastFat16-Treiber)
// Schaltung  : myAVR MK3
//-----------------------------------------------------------------------------
// Prozessor  : ATMega2560
// Takt       : 16 MHz
// Sprache    : C
// Date       : 05.07.2012
// Version    : 1.0
// Autor      : UB
//-----------------------------------------------------------------------------
#define F_CPU 16000000
#include <avr/io.h>
#include <ub_mk3_2560/MK3_2560_LCD.h>
#include <ub_mk3_2560/MK3_2560_FASTFAT16.h>
 
//-----------------------------------------------------------------------------
// Hinweis : Quick-Jumper Port-C+A muss gesetzt sein
// - testet ob eine SD-Karte eingelegt ist
// - legt ein File an und schreibt einen Text rein
// - zeigt bei Erfolg eine OK-Meldung an
//-----------------------------------------------------------------------------
int main (void)
{
  unsigned int n;
  FFW_Status_t check;
  char buffer[30]; // puffer für das schreiben
 
  strcpy(buffer,"FASTFAT in funktion...");
 
  MK3_INIT_LCD(); // init des LCD
  MK3_LCD_CLEAR(); // LCD loeschen
  MK3_LCD_LIGHT(true); // beleuchtung einschalten
 
  MK3_LCD_STRING_AT(0,0,"FASTFAT16 WRITE");
  MK3_LCD_STRING_AT(0,16,"suche SD-Karte:");
 
  check=MK3_SD_WRITE_FILE_IN_ROOT("ff_file.txt");
  if(check==SDW_WRITE_OK) {
    MK3_LCD_STRING_AT(0,24,"Karte gefunden");
    // 20 Zeichen aus dem Puffer in das File schreiben
    fat_write_file(MK3_SD.file, (uint8_t*) buffer, 20);
    // File schliessen
    MK3_SD_CLOSE_FILE();
    MK3_LCD_STRING_AT(0,40,"File geschrieben");
  }
  else if(check==SDW_NO_CARD) {
    MK3_LCD_STRING_AT(0,24,"Err...keine Karte");
  }
  else if(check==SDW_FILE_NOT_FOUND) {
    MK3_LCD_STRING_AT(0,24,"Err...File not found");
  }
  else {
    MK3_LCD_STRING_AT(0,24,"Err...Dateifehler");
  }
 
  while (true)
  {
 
  }
  return 0;
}

Hier die Library zum download :

UB_MK3_2560_FASTFAT_v100


Wie hat Dir dieser Artikel gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Noch keine Bewertungen)
Loading...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert