Hallo, ich versuche mich nun auch, welche Überraschung, mit einem eigenen MP3-Player. Der Grundgedanke ist, die Verzeichnisstruktur auf einer SD-Karte zu lesen und in einem File abzulegen. Als Beispiel soll so etwas vorhanden sein: Directory0 Subdirectory00 File0 File1 Subdirectory01 File0 File1 File2 File3 Directory1 Subdirectory10 Subdirectory11 usw. Genau so soll es dann auch im List-File stehen. Aber genau da habe ich meine Denkblockade. Würde ich ebenenweise scannen, hätte ich keine Zuordnung der Files zum Verzeichnis mehr. Würde ich mich von einem Verzeichnis beginnend immer so weit nach unten hangeln, bis ich Files finde, hätte ich zwar die gewünschte Zuordnung. Ich müßte mich aber wieder zurückbewegen und dabei merken, welche Verzeichnisse ich bereits bearbeitet habe. Dazu bräuchte ich aber Speicher, den ich nicht habe. Hat jemand eine Idee, wie man das elegant lösen könnte? Gruß Matthias
Willst du das ganze auf dem uC oder dem PC machen ist mir irgenwei aus der Frage nicht ganz klar...
das problem kennen wir ja jetz nur die umgebung in der das passieren soll ist noch in der Kristallkugel
>Würde ich mich von einem >Verzeichnis beginnend immer so weit nach unten hangeln, bis ich Files >finde, hätte ich zwar die gewünschte Zuordnung. Schon da wird es Probleme geben. Verzeichnis und Dateieinträge können wild durcheinander auf der SD liegen. Und alphabetisch sortiert ist ebenfalls Glückssache.
Würde iich es auf einem Pc machen wollen, hätte ich ja Speicher :) Nein, die Plattform ist ein 644P. Das meiste des RAMs geht schon für die Dateiverwaltung drauf. Sicherlich könnte man mit externem RAM arbeiten. Ich habe aber gerade so ein kleines Modul ohne externem RAM. Deshalb kam ich auf die Idee, die Liste auf der Karte abzuspeichern. Aber selbst wenn ich genug RAM hätte, erscheint mir die Vorgehensweise nicht ganz trivial. Gruß Matthias
Hi Hatte das zu 286er Zeiten in ASM ungefähr wie folgt gemacht:
1 | (00) . |
2 | (01) 00 File_1_in_Root |
3 | (02) 00 File_2_in_Root |
4 | (03) 00 U-Verz_1_von_Root_1 |
5 | (04) 03 File_in_U-Verz_1_von_Root_1 |
6 | (05) 00 File_3_in_Root |
7 | (06) 03 U-Verz_1.1_von_U-Verz_1 |
8 | (07) 03 File_1_in_Verzeichnis -> root/u-verz-1/ |
9 | (08) 06 File_1_in_Verzeichnis -> root/u-verz_1/u-verz-1.1/ |
10 | ... |
Die vorderen Zahlen in Klammern entspricht dem Speicherort (bei DOS damals war bei 8+3 Zeichen Schluß, konnte man leicht und gleichmäßig im SPeicher verteilen) bzw. der Nummer des Datensatz. Die Zahl dahinter beschreibt, in welchem Verzeichnis der Eintrag liegt, erst, wenn wir beim rückwärts gehen auf 00 kommen, ist der Pfad komplett zusammen gestellt und das File kann geöffnet werden. Die Zahl ohne Klammern ist auch das Erste, was im Speicher steht. Bestimmt nicht optimal, hat damals aber durchaus gereicht (aber kA, was ich damit gemacht hatte ...) Wenn's hilft, bitte :) MfG
Wenn die Reihenfolge beliebig sein darf, dann geht es einfach: Du brauchst nur eine Funktion die ein Verzeichnis ausliest. Findet diese eine Datei, wird der Name in die Liste gespeichert. Findet sie ein Verzeichnis, ruft sich die Funktion selbst wieder auf, mit dem neuen Verzeichnis als Parameter. Fertig.
@Gast Posti Ich glaub, da brauche ich etwas länger, bis ich es verstanden habe. Danke erst mal! @Benedikt Die Reihenfolge ist nicht beliebig. Ich möchte damit ereichen, dass ich sowohl um einzelne Files (respektive Titel) bzw. Verzeichnisse (respektive CDs) vor und zurücknavigieren kann. Gruß Matthias
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.