Hallo,
ich habe ein Problem mit meinem Projekt. Dabei soll eine SD-Karte als
Speicher für Messdaten dienen. Ich verwende kein Partitionssystem,
sondern lege die Daten direkt drauf. Der Atmega2560 dient als Prozessor.
Die 16MB Karte funktioniert einwandfrei. Wenn ich jedoch meine anderen
Karte verwende (64MB und 256MB, beide funktionieren unter Win) dann
hängt der Quelltext immer an der gleichen Stelle der Initialisierung.
1 | #if SPI_Mode //Routine für Hardware SPI
|
2 | SPDR = 0xff;
|
3 | while(!(SPSR & (1<<SPIF))){};
|
4 | Byte = SPDR;
|
Eines ist mir aber aufgefallen. Wenn ich die Karte entferne, während die
Init hängt, dann läuft das Programm weiter. Stecke ich die Karte sofort
wieder rein, dann läuft das Programm in seiner while(1) ohne Probleme
weiter. Betrache ich den Inhalt am Rechner, dann hat er einen Sektor
beschrieben, aber keine weiteren Messwerte, die jede Sekunde bespeichert
werden sollten.
Vielleicht habt ihr ja ein paar Tipps.
Gruß Dennis