Hallo ich bin deibei eine Transpondersteuerung über ATTiny2313-20 zu realisieren und möchte dazu gerne AT 45DB 041B als Speicher verwenden allerdings stellt mich das vor neue Probleme, er soll sowohl die Transponder wie auch einen Ereignislog beinhalten, letzteres soll als Ringspeicher realisiert sein. Kann mir jemand sagen wie ich das am besten mache, dass ich die transponder mit beschreibung dort speichere. Also <Transponderidentification><Beschreibung> als Beispiel: 1234567890 Herr Müller das muss ich reinschreiben, und dann wenn der Transponder 1234567890 kommt den Eintrag möglichst schnell wiederfinden. Wenn ihr wisst wo ich Beispiele für die Ansteuerung finde, immer her damit :) Bin für jeden Anregung dankbar, ach und überfordert mich bitte nicht... Andre
Hallo, also wenn die daten eine fest definierte maximale länge haben kannst sie ja in gleichen abständen im Speicher abspeichern. z.B. erster datensatz 0x00, zweiter 0x10 usw.... dann springst die adressen durch liest die gespeicherte ID aus und vergleichst sie. Sofern ich dich richtig verstanden habe.... ;-)
Aus dem Stehgreif (Entwicklung eines Datenloggers mit Dataflash ist schon eine Weile her...): Als Einstieg vielleicht erstmal die AppNote "Using Atmel's DataFlash" lesen, dann ueberlegen, wie man die "Transponder-Namen-Tabelle" am besten in dem "Seitenorientierten" Speicher unterbringt. Dann Hilfsfunktionen basteln, mit denen man von einer Datensatznummer die Seitenummer/Bytenummer bestimmen kann. Damit dann beim Lesen durch die Tabelle iterieren zum Schreiben eines Datensatz ebenfalls Seite/Byte bestimmen und read-modify-write. Also wie von Peter Z. beschrieben aber mit "Zwischenrechnung". Wenn sich die Daten in der Transpondertabelle oft aendern Anmerkungen zu "page rewrite" in der Appnote beachten. Beim Ringpuffer braucht man auf rewrite nicht mehr zu achten, da die Daten in aufeinanderfolgende Flashseite geschrieben werden. Man benoetigt irgend eine Art Information, um beim Kaltstart wieder die "letzte Position" zu finden um aktuelle Daten anzuhaengen bzw. die aeltesten Daten zu ueberschreiben. Da fuer jeden Datensatz in der Zugangskontrolle wohl ohnehin ein Zeitpunkt/Timestamp gespeichert wird, kann man diese Information nutzen (seek hinter Datensatz mit "jungesten Zeitstempel" beim Schreibn, seek auf Datensatz mit aeltestem Zeitstempel vor dem Auslesen). Hoffe, es hilft zumindest etwas beim Einstieg. Nur Vorschlag, man kann das Ganze sicher auch voellig anderes angehen. Martin Thomas
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.