Abend Ich will per I2C ein EEPROM 24Cxx auslesen. Das klappt auch alles. Aber ich finde keine Lösung, wie ich erkennen kann, wie groß das EEPROM ist. Wenn ich per sequential read alles auslese, dann erzeugen die Speicher am Ende ja einen Überlauf und liefern einfach wieder die ersten Bytes. Ebenso, wenn ich die die Bytes einzeln adressiere: dann wird bei einer Adresse, die größer als der Speicher ist, einfach vom Speicheranfang an wieder gezählt. Ich will aber mit wechselnden Speicherchips arbeiten können. Gibt's da nen Trick?
>Aber ich finde keine Lösung, wie ich erkennen kann, wie groß das EEPROM ist.
Chip mit Mustern beschreiben um die Grösse zu ermitteln.
Es wäre aber einfacher die Chipgrösse gleich dem Programm
bekannt zu geben.
Die erste Lösung finde ich unschön, zumal "fremdbeschriebene" EPROMS auszulesen sind, deren Inhalt nicht verloren gehen soll, die zweite ist nicht umsetzbar.
Bernd schrieb: > Dann wird es nix mit dem Auslesen Stimmt ja nicht. Auslesen klappt ja. Nur muß man die Größe der relevanten Daten angeben.
Ralph schrieb: > Bernd schrieb: >> Dann wird es nix mit dem Auslesen > > Stimmt ja nicht. Auslesen klappt ja. Nur muß man die Größe der > relevanten Daten angeben. Die falsche Anzahl von richtig gelesenen Bytes ist ist genauso falsch wie die richtige Anzahl von falsch gelesenen Bytes MfG Klaus
Dann lies die maximale Größe aus und wirf, solange die erste Hälfte der Daten gleich der zweiten Hälfte der Daten ist, die zweite Hälfte weg. Wenn das EEPROM sinnvolle Daten enthält, kriegst du so die Größe raus. Wenn alle Zellen gleich sind, hast du halt Pech gehabt: Dann muss der User auf die Beschriftung schauen.
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.