Forum: Mikrocontroller und Digitale Elektronik Inhalt einer SD Karte abfragen


von Ingo L. (grobian)


Lesenswert?

Kann mir einer sagen wie ich mit einem Mega 32 eine SD Karte nach einer 
bestimmten Datei durchsuche ?
Die Anbindung an dem Mega 32 Funktioniert einwandfrei und spielt mit 
auch WAVE Dateien da runter.. mit der Abfrage nach einer bestimmten 
Datei stehe ich auf Kriegsfuß. Eigentlich muss ich nur wissen ist die 
entsprechende Datei da (1) oder nicht (0)..

von Εrnst B. (ernst)


Lesenswert?

Du musst alle Dateinamen der Reihe nach prüfen, ob sie dem gewünschten 
Dateinamen entsprechen.

von Ingo L. (grobian)


Lesenswert?

jepp..aber wie bekomme ich die Dateinamen ausgelesen.
Das ist mein Problem..

von nocheinGast (Gast)


Lesenswert?

Da wärs hilfreich zu wissen, was du für eine Bibliothek benutzt, welches 
Dateisystem und welche Sprache überhaupt usw.

von Εrnst B. (ernst)


Lesenswert?

Hängt stark davon ab, welche der gefühlt 1000 FAT-auf-SD-mit-AVR 
Bibliotheken du einsetzt.

z.B. könnte gehen:
Filehandle für Dateinamen öffnen, Fehler => Datei fehlt, OK => Datei ist 
da.

von FAT (Gast)


Lesenswert?

So wie sich das anhört hast Du schonmal die Funktionen für das 
File-System nicht selber geschrieben.
Deshalb musst Du erst mal mitteilen was Code Du verwendest.
Evtl. ist da schon was dabei wo man die SD-Karte durchsuchen kann.

Ansonsten gibts ein Filesystem von Roland Riegel oder das Petit File 
System.

Grüße

von Ingo L. (grobian)


Angehängte Dateien:

Lesenswert?

das Programm habe ich hier aus dem Forum übernommen.
Ordner im Anhang.

von nocheinGast (Gast)


Lesenswert?

1
 result=Fopen(name,'r');
2
3
 if(result==F_OK)

Wieso kannst du das nicht so machen wies schon drinsteht? Wenn nicht 
F_OK zurückkommt, ist die Datei nicht vorhanden und aus.

von Ingo L. (grobian)


Lesenswert?

Kannst du mir das mal im Klartext schreiben (bin halt ein bissel doof)
Ich will prüfen ob die Datei "WAVE3" vorhanden ist.

von Εrnst B. (ernst)


Lesenswert?

nocheinGast schrieb:

> result=Fopen("WAVE3",'r');
>
>  if(result==F_OK) { // Juhu! Datei Da!

} else { // Buhuhu! keine Datei...

von holger (Gast)


Lesenswert?

if(FindName("wave3.wav") == FULL_MATCH)
 {
   // Datei gefunden
 }


Alternativ wie oben schon geschrieben auch mit Fopen möglich.

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
Noch kein Account? Hier anmelden.