Guten Tag
über ein Jahr ist kein Fehler mehr aufgetreten, jedenfalls kein gemeldeter den man nicht reparieren konnte. Bisher habe wir als Behebung vorgeschlagen, SD-Karte in den PC, reparieren und weg war der Fehler. Leider ist der Fehler oder einer seiner Geschwister noch aktiv. Wobei es jetzt ganz verrückt ist, bisher bin ich davon ausgegangen das die defekten SD-Karten durch das Ausschalten des Meßgerät beim Aufzeichnen entstehen, diverse Maßnahmen führten auch zu einer Verringerung des Auftreten des Fehlers. Nun hatte ich gestern einen Kunden der meinte das der Fehler nicht verschwindet, wenn die Karte repariert wird, also hat er die Dateien welche ja im PC ohne Probleme gelesen werden können kopiert, die Karte formatiert und dann die Dateien zurück kopiert. Der Fehler war dann wieder da. Ich habe mir den Inhalt der SD-Karte zuschicken lassen und auf eine frische Karte kopiert und siehe da, der Fehler ist auch bei mir vorhanden. Wie mann an den Bilder sieht, sind auf der Karte 3 Dateien und es werden bei einem FindFirst+Findnext immer wieder Dateien aufgelistet die garnicht existieren. Ich habe das Testprogramm und den Inhalt der SD-Karte hier hin kopiert. Die Dateien werden mit folgender Befehlen geschrieben
Code
Procedure SaveDataFromFRAMToSD;
var res : word;
bool : Boolean;
fHandle: File of Byte;
Begin
bool := F16_FileAssign(fHandle, ActualSaveFolder, ActualSaveFile);
if bool then
bool := F16_FileAppend(fHandle); //Zeit auf Datei setzen
if Bool then
F16_BlockWrite (fHandle,@SDSaveBlock,512,res);
F16_FileClose(fHandle);
else
F16_FileClose(fHandle);
endif;
endif;
end;
das sollte ja alles korrekt sein. Das Problem ist weiterhin das Auflisten der Dateien
Code
Function ListAllDirectory(Path:String[32]):Byte;
var SR:TSearchRec;
Ret:Byte;
Begin
Ret:=0;
if F16_FindFirst(Path, '*.*', faAnyFile, SR) then
repeat
mDelay(5);
Inc(Ret);
until not F16_FindNext(SR);
Endif;
Return(Ret);
end;
Wobei das ja seitens des Anwenders der FAT32 Bibliothek keine Probleme hervorrufen sollte, ist ja kein Hexenwerk (also das Aufrufen der Funktionen, der Treiber an sich sicherlich schon
).
Ich weiß jedenfalls kein Rat mehr, aber das Problem kann so nicht bestehen bleiben.
LG rage