SD Karte geht bei großer Datei kaputt

Gast #2925223
Lesenswert?
• ▲
▼
Hallo,

ich verwende die Lib hier aus dem Forum für FAT16/32 von Roland Riegel.
Wenn ich eine große Datei auf die Karte schreiben will, kann ich nicht 
mehr mit dem PC auf die Karte zugreifen. Formatieren geht auch nicht 
mehr. Ich vermute, dass die geschützten Bereiche der Karte verändert 
werden. Ist das möglich, oder liegt es nur an mir?
So verwende ich die Lib nach der Initialisierung von der Karte und FAT.

uint32_t i = 0;
uint8_t temp = 0;
unsigned char file_name[12] = "pruning TXT";

if(1==ffopen(file_name,'c')) //Datei wurde angelegt
{
  LCD_setTextColor(Black);
  LCD_drawRect_full(24,75,48,319);
  LCD_setTextColor(Purple);
  LCD_displayStringLn(Line1,78, "Writing Table...");

  for(i=0;i<=500000000;i++)
  {
    ffwrite(temp);
    temp++;
  }
  ffclose();
  LCD_setTextColor(Black);
  LCD_drawRect_full(24,75,48,319);
  LCD_setTextColor(Purple);
  LCD_displayStringLn(Line1,78, "Table finished");
}

Ich will zu Test ein etwa 500MB große Datei schreíben, da ich das auch 
in meiner späteren Applikation brauche.

Vielleich fällt euch der Fehler auf!

Gruß, Jens
Gast #2925525
Lesenswert?
• ▲
▼
Hallo,

Stimmt, es ist die Lib von Daniel R.
Wie kann ich denn nur den Sektor 0 mit Nullen füllen? Was passiert da 
und warum kann ich die Karten dann wieder formatieren.
Ich habe gestern die Karte nochmal am Controller angeschlossen. Die 
Karte lässt sich initialisieren. Beim laden der Fat Daten geht es dann 
nicht mehr weiter.

Gruß, Jens
Gast #2925631
Lesenswert?
• ▲
▼
Hallo

Den Sektor 0 mit Nullen füllen hat bei einer Karte was gebracht. Die 
kann ich wieder verwenden.
Ich habe dann versucht eine kleine Datei anzulegen und da was zu 
schreiben.
Da ist wohl der Fehler bei Erstellen der Datei. Die wird erzeugt, aber 
der schreib nichts rein, oder die Datei wird nicht richtig geschlossen.
Ich muss das nochmal versuchen.
Vielleicht liegt es daren:
if(1==ffopen(file_name,'c'))

Ich muss den Rückgebewert nochmal richtig anschauen. Wenn der nicht 
stimmt, ist die Datei vielleicht nicht bereit zum schreiben und ich 
schreibe irgendwo auf die Karte.

Gruß, Jens

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.