mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik FAT16 und Ordnerverwaltung


Autor: fubu1000 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo mein Lieblingsforum,
habe ein Problem, und zwar will ich gespeicherte Daten auf einer 1GB 
grossen SD-Karte auslesen, welche in Ordner sortiert sind.
Nun ist mein Problem das wenn ich ohne Ordner arbeite, alles kein 
Problem ist(durch ROOT-Directory gehen und Dateien raussuchen).
Jedoch kapier ich nicht wie ich die Ordner auf dem Medium finde und die 
dazugehörigen Dateien???
Vielen Dank im voraus und Gruss, fubu.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun, ein Verzeichnis kannst Du ja schon mal lesen (das Root-Directory).

Zu jedem Verzeichniseintrag wird ein Attribut gespeichert, und ein Bit 
davn weist darauf hin, daß die betreffende Datei wiederum ein 
Verzeichnis ist.

Um nun herauszufinden, welche Dateien im betreffenden Verzeichnis sind, 
musst Du Dir genauso wie beim Lesen einer Datei aus dem 
Verzeichniseintrag die Cluster-Kette bestimmen, Cluster für Cluster 
lesen und die gelesenen Daten exakt genauso interpretieren wie das 
Root-Directory.

Ja, das ist rekursiv.

Autor: fubu1000 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
nur damit ichs richtig verstehe ich suche z.B. nach dem Ordner 
"ORDNER1".
1.)Also schaue ich in der ROOT- Directory nach dem Wort "ORDNER1".
   Darin  ist dann ein Bit gesetzt, welches mir anzeigt, das dies ein
   Verzeichnis ist(welches Bit???, wahrscheinlich eins in den 
Dateiattri-
   buten, aber welches, ARCHIVE-BIT???).

2.)Byte 27 und 28 von der ROOT-Directory zeigen mir an wo das erste 
Cluster
   ist und 29-32, die Grösse des Ordners "ORDNER1"(wobei ich mich noch
   frage, ob die anzahl der dateien in der Grösse stehen, oder die wirk-
   liche Grösse des ORDNERS1???)

3.)Lese die Clusterkette ,die mir Byte 27 und 28 der ROOT-Directory 
vorge-
   geben haben nun aus. Dies sind nun die Stellen in der ROOT-Directory, 
wo
   die Dateien des Ordners sind, oder versteh ich das falsch???

3.1.)oder ich lese die Clusterkette aus und schau dann in Datenbereich 
mir
    die entsprechenden Einträge an und behandle diesen Datenbereich wie
    die ROOT-Directory Einträge, also immer 32byte=ein 
Verzeichniseintrag??

Schonmal vielen Dank im voraus, Gruss fubu.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, nicht das Archiv-Bit, sondern das Directory-Bit.


  read-only: 01
  hidden:    02
  system:    04
  directory: 10
  archive:   20

Die Größenangabe ist die Größe des Verzeichnisses, also die Anzahl der 
enthaltenen Dateien mal der Größe eines Verzeichniseintrages (32 Bytes).

Was Du unter 3. liest, ist das Verzeichnis, NICHT die im Verzeichnis 
enthaltenen Dateien. Du musst das also wie in 3.1 behandeln.

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieder einer der google nicht benutzen kann.

http://www.microsoft.com/whdc/system/platform/firm...

Autor: fubu1000 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
vielen dank RUFUS für deine Mühe ;-)
gruss fubu

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.