Forum: Mikrocontroller und Digitale Elektronik I²C EEPROM 24Cxx sequential read: Ende erkennen


von Ralph (Gast)


Lesenswert?

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?

von holger (Gast)


Lesenswert?

>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.

von Ralph (Gast)


Lesenswert?

Die erste Lösung finde ich unschön, zumal "fremdbeschriebene" EPROMS 
auszulesen sind, deren Inhalt nicht verloren gehen soll, die zweite ist 
nicht umsetzbar.

von Bernd (Gast)


Lesenswert?

Dann wird es nix mit dem Auslesen

von Ralph (Gast)


Lesenswert?

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.

von Klaus (Gast)


Lesenswert?

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

von Svenska (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.