- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 17

Thema: String auf SD-Karte mit Drivewritesector()

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    09.03.2012
    Beiträge
    51
    Zitat Zitat von for_ro Beitrag anzeigen
    Der DriveWriteSector Befehl schreibt immer die nächsten 512 Byte ab der angegebenen Adresse auf die SD Karte.
    Beachte, dass du die Karte mit Windows nicht mehr lesen kannst, wenn du auf den Sektor 1 schreibst.
    Hallo!
    Grundsätzlich ist es bei SD-Karten möglich, innerhalb eines Sektors Schritt für Schritt zu schreiben - jedes Byte immer dann, wenn es vom Messgerät eingelesen wird. Wahrscheinlich geht das aber nicht mit den üblichen Prozeduren.
    Ich wollt nur auf die Möglichkeit hinweisen, weil ist so etwas schon einmal gemacht habe. Dadurch kann man auch mit Mikrocontrollern mit wenig Speicher (z.B. ATtiny25) auf SD-Karten schreiben.

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    06.08.2009
    Beiträge
    45
    Danke for_ro,
    Genau das habe ich gesucht
    Hatte auch noch dummer Weis eine Variable falsch geschrieben... aber jetzt funktioniert es
    Hatte gedacht in Sektor 0 stehen die wichtigen Daten die man nicht verändern darf aber in Sektor 1 darf man doch schon etwas schreiben oder?

    Fabian

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Zitat Zitat von Fabian1995 Beitrag anzeigen
    Hatte gedacht in Sektor 0 stehen die wichtigen Daten die man nicht verändern darf aber in Sektor 1 darf man doch schon etwas schreiben oder?
    Wenn du die Karte mit Windows lesen willst, dann kannst du sehr viele Sektoren am Beginn der Karte nicht benutzen.
    Wieviele hängt wohl auch von der Größe der Karte und der Art der FAT ab.
    Ich hatte damals eine Karte frisch formatiert und dann einen File mit bekanntem Inhalt (1234567890123456...) draufgeschrieben. Der steht dann auf dem ersten verwendbaren Sektor. Mit dem µC habe ich dann über DriveReadSector diesen Sektor gesucht.
    Bei meiner 1GB Karte war es der Sektor 768.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Zitat Zitat von trekko Beitrag anzeigen
    Ich wollt nur auf die Möglichkeit hinweisen, weil ist so etwas schon einmal gemacht habe. Dadurch kann man auch mit Mikrocontrollern mit wenig Speicher (z.B. ATtiny25) auf SD-Karten schreiben.
    Hallo trekko,
    würde mich auch mal interessieren, wie das geht. Müsste man wahrscheinlich die DriveWriteSektor Funktion so ändern, dass über einen zusätzlichen Parameter die Anzahl bytes übergeben wird. Und nur die werden dann geschrieben.
    Irgendwo habe ich mal gelesen, dass die Daten erst in einen Buffer geschrieben werden. Wenn dann ein Sektor komplett ist, wird er auf die Karte übertragen. Dies geschieht im Controller der Karte.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    09.03.2012
    Beiträge
    51
    Zitat Zitat von for_ro Beitrag anzeigen
    würde mich auch mal interessieren, wie das geht. Müsste man wahrscheinlich die DriveWriteSektor Funktion so ändern, dass über einen zusätzlichen Parameter die Anzahl bytes übergeben wird. Und nur die werden dann geschrieben.
    Irgendwo habe ich mal gelesen, dass die Daten erst in einen Buffer geschrieben werden. Wenn dann ein Sektor komplett ist, wird er auf die Karte übertragen. Dies geschieht im Controller der Karte.
    Hi for_ro, ich kenn ja die DriveWriteSektor-Funktion nicht, ich hab die SD-Karte "zu Fuß" beschrieben, das heißt, ich hab die Schreibbefehle für die SD-Karte direkt über die serielle Leitung geschickt. Hier findest du ein paar Infos zu dem Thema: http://elm-chan.org/docs/mmc/mmc_e.html

    Natürlich ist das aufwändiger, als so komfortable Funktionen wie DriveWriteSektor zu benutzen, es hat aber den Vorteil, dass man den Schreibvorgang so beeinflussen kann, wie man will. Das Schreibprotokoll für die SD-Karten erlaubt es nämlich, während des Schreiben eines Blocks den Clock-Takt vorübergehend anzuhalten und dann ein paar Sekunden (oder Minuten) später weiterzuschreiben, als wäre nichts gewesen.

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Zitat Zitat von trekko Beitrag anzeigen
    ... ich kenn ja die DriveWriteSektor-Funktion nicht, ich hab die SD-Karte "zu Fuß" beschrieben, das heißt, ich hab die Schreibbefehle für die SD-Karte direkt über die serielle Leitung geschickt.
    Hatte ich mir auch so gedacht. Cool wäre es allerdings, wenn man das auch über einen modifizierten DriveWrite Befehl machen könnte.
    Zitat Zitat von trekko Beitrag anzeigen
    Hier findest du ein paar Infos zu dem Thema: http://elm-chan.org/docs/mmc/mmc_e.html
    Natürlich ist das aufwändiger, als so komfortable Funktionen wie DriveWriteSektor zu benutzen, es hat aber den Vorteil, dass man den Schreibvorgang so beeinflussen kann, wie man will. Das Schreibprotokoll für die SD-Karten erlaubt es nämlich, während des Schreiben eines Blocks den Clock-Takt vorübergehend anzuhalten und dann ein paar Sekunden (oder Minuten) später weiterzuschreiben, als wäre nichts gewesen.
    Aber diese Sache mit dem Clock anhalten ist dort nicht beschrieben, oder habe ich das übersehen?
    Hast du dieses unterbrechen schon mal implementiert? Das wäre genau das, wie ich es auch gerne machen würde. Zur Zeit warte ich 8 Minuten, bis ich 512 Byte zusammen habe und diese dann en Block auf die Karte schreibe.

Ähnliche Themen

  1. Chr(0) im String
    Von Furtion im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 28.11.2008, 10:37
  2. string an lcd senden, string in pointer speichern
    Von andi.studi im Forum PIC Controller
    Antworten: 15
    Letzter Beitrag: 13.08.2008, 23:51
  3. String auf String zuweisen geht nicht
    Von Jaecko im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 14.12.2006, 17:48
  4. Sim-Karte
    Von Speed im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 2
    Letzter Beitrag: 18.11.2006, 11:51
  5. SD-Karte oder CF-Karte?
    Von Johannes G. im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 22.08.2006, 12:28

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress