Hallo Leute, der EEPROM meines ATMEGA8 scheint voller 1-en zu sein. Mein Problem ist, das das Programm eigenltich dann aufhören soll den EEPROM weiter auszulesen wenn der EEPROM leer ist, also keine von mir reingeschriebenen Daten mehr drinn sind. Wie kann ich das in meinem Fall dann am besten realisieren?
ich hoffe ich habs verstanden.?, fang von hinten an. Wenn alle Bits im Byte = H sind dann weiter, bis Anfang. (Zeiger-1) Wenn der Zeiger < EErom Anfang -> Abbruch. Z8
Wenn ein EEPROM leer ist, sind alle Bits auf 1. Das kommt noch aus den Zeiten der PROMs. Darin waren dünne "Sollbruchstellen" auf dem Chip enthalten, die durch einen recht starken Strom beim Programmieren gezielt durchgebrannt wurden - oder eben auch nicht. Wenn die Leiterbahn nicht durchgebrannt war, ist nachher beim Auslesen (natürlich mit viel weniger Strom) noch Strom durchgeflossen. Das ist dann die logische 1. Wenn die Leiterbahn durchgebrannt wurde, ist sie unterbrochen. Damit fließt dann beim Auslesen auch kein Strom mehr (logische 0). Damit müssen natürlich im fabrikneuen Zustand alle Leiterbahnen intakt sein, also alle Bits auf 1. Bei EEPROMs (genauer gesagt: Flash-EPROMs) hat man das halt beibehalten, obwohl man es genauso gut auch anders machen könnte.
kannst zum beispiel in die erste Speicherzelle reinschreiben, wie lang die Daten sind, dann nur so viel Auslesen
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.