www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT 45DB 041B- Speichern einträge durchsuchen


Autor: Andre (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter Z. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.... ;-)

Autor: Martin Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.