Forum: Mikrocontroller und Digitale Elektronik SD-Karte Verständnisfragen


von Bernd (Gast)


Lesenswert?

Guten Tag,

Ich würde gerne mit einem ATTiny2313 Messwerte aufnehmen, diese auf 
einer SD-Karte speichern und am PC später dann auslesen. Das ich nicht 
der erste bin, darauf verwette ich meine rechte Hand.

Nun hab ich aber ein Verständnissproblem: Damit ich die SD-Karte am PC 
auslesen kann, muss diese formatiert sein. Leider hab ich im Internet 
gelesen, dass ein ATTiny2313 es vom RAM nicht schafft, eine 
FAT16-Formatierung zu verarbeiten.

Wie ließt der PC die SD-Karte aus? Wenn ich mit meinem ATTiny einfach 
irgendwas in irgendwelche Speicherbereiche schreibe, würde der PC das 
dann überhaupt erkennen? Oder könnte ich am PC dann eine Software 
schreiben, die dann von der SD-Karte die Daten abholt?
Oder macht es mehr Sinn, einen AtMega8 zu nehmen und sich nochmal 
intensiv mit FAT16 auseinander zu setzen?

Grüße

von Ich (Gast)


Lesenswert?

Hallo,
du musst die SD-Karte nicht unbedingt formatieren. Lass den uC einfach 
von Block 0 der Karte losschreiben. Am PC musst du dir dann ein kleines 
Tool
schreiben um die Daten auszulesen.

von Mark L. (m2k10) Benutzerseite


Lesenswert?

Ich versuch's mal so zu erklären:
a) es gibt Software, mit der du am PC auf die Karte ohne Dateisystem 
zugreifen kannst, dann brauchst du selbiges auch nicht. FAT16 u.a. ist 
'nur' nötig, wenn du bspw. mit dem WinExplorer drauf zugreifen möchstes, 
es geht grundsätzlich auch ohne(je nach PC).
b) um am µC 'richtig'(Dateien neu anlegen etc.) mit FAT16 arbeiten zu 
können musst du einen Block (512Bytes) lesen, ändern und wieder 
schreiben können, das geht am tiny2313 nicht.
c) du kannst auch FAT16 eingeschränkt nutzen, bspw. indem du eine leere, 
ausreichend große Datei auf dem PC anlegst und auf dem µC nur die Daten 
da rein schreibst, also keine Änderungen der FAT oder an den 
Verzeichnissen vornimmst. Dabei kannst du u.a. deine Datenbytes mit 
dummybytes auffüllen, um den 512er Block voll zu bekommen, oder dir auch 
Zeit lassen, einen Block byte für byte mit Daten zu füllen.
Ich meine, Elm Chan hatte da auch mal was veröffentlicht zu Punkt c).

Grüße
Mark

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.