Forum: Compiler & IDEs i2c und 24c512 EEPROM


von Lars (Gast)


Lesenswert?

hallo,

ich hab jetzt vor, einen EEPROM-Baustein (24c512) über i2c anzusprechen
und bin auf der Suche nach den entsprechenden Routinen, die das ganze
vereinfachen können.

Hat da jemand schon Erfahrung gemacht?
wäre dankbar für jede Hilfe

Lars

von A.K. (Gast)


Lesenswert?

I2C Routinen gibt's i.d.R. als Application Note vom Hersteller des
Controllers (den Du nicht verraten hast). Und das EEPROM ist dann
wirklich trivial.

von Lars (Gast)


Lesenswert?

der Hersteller ist Atmel, ich finde keine Application Note, was meinst
du genau?

von A.K. (Gast)


Lesenswert?

Wenn Du mit Atmel den Hersteller vom Prozessor meinst: AN310,AN315
beispielsweise.

von Jörg Wunsch (Gast)


Lesenswert?

Da du im GCC-Forum fragst: die avr-libc kommt mit einem Demo für I²C,
das just die 24Cxx-Serie abdeckt.  Inwiefern der xx512 aufgrund seines
Adressraumes da einer Sonderbehandlung bedarf, bin ich jetzt zu faul
nachzugucken.

von Lars (Gast)


Lesenswert?

müssen in diesem Demo nur CPU-Clock und Device-Adress angepast werden?
Gibt es da sonst Stellen wo es hängen kann?

von Lars (Gast)


Lesenswert?

Ich krieg dieses Beispiel in avr-libc nicht zum Laufen.
mit der Funktion:

int ee24xx_read_bytes(uint16_t eeaddr, int len, uint8_t *buf)

kann ich nur Werte mit der Adresse bis 256 auslesen,
Kann der Autor vielleicht paar Tipp geben, wo es korregiert weren soll?

von Jörg Wunsch (Gast)


Lesenswert?

Schau doch einfach mal ins Datenblatt des 24C512.  Der braucht 2
Adressbytes (logischerweise), das müsstest du halt in den Funktionen
nachsetzen.

von Lars (Gast)


Lesenswert?

ja, jetzt läuft's

danke

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.