externer EEPROM an AVR atmega32

Gast #1041010
Hallo,

ich möchte mit einem atmega32 einen externet EEPROM beschreiben/ lesen.
Das ganze soll in Assembler geschehen.

Leider kenne ich mit dem I2C-Bus noch nicht richtig gut aus.

1. Gibt es irgendwo Tutorials, wie man sowas macht?
2. Was für einen EEPROM soll ich verwenden?

Franz
Gast
Hallo,

in den 51er Anwendungsbuch, das eine Zeit lang hier verschenkt wurde, 
steht dazu was drin. Du brauchst dazu ein serielles I2C EEPROM in der 
gewünschten Größe. Im Prinzip läuft der Zugriff etwa so ab:

Startcondition;
writeByte(0b01010010);  // schreibt auf Geräteadresse 1
writeByte(AdressHigh);  // schreibt ersten Teil der Daten-Adresse
writeByte(AdressLow);   // schreibt zweiten Teil der Daten-Adresse

jetzt Fallunterscheidung:
Fall 1 - wir schreiben Daten ab der vorher gesendete Daten-Adresse in 
den Speicher:

writeByte(Datenbyte);
writeByte(nächstesDatenbyte);
usw...
Stopcondition;

Fall 2 - wir lesen Daten ab der vorher gesendeten Daten-Adresse aus dem 
Speicher:

writeByte(0b01010011);  // Zielgerät auf Lesebetrieb stellen
Daten1 = readByte();
Daten2 = readByte();
usw...
readByte(noAck);
Stopcondition;

In etwa so läuft de Kommunikation ab. Wie man das in Assember auf deiner 
CPU umsetzt, so dass der Hardware-I2C verwendet wird, weiß ich leider 
nicht.

Grüße,

Peter
@  Franz (Gast)

>Leider kenne ich mit dem I2C-Bus noch nicht richtig gut aus.

>1. Gibt es irgendwo Tutorials, wie man sowas macht?

Siehe I2C und die Datenblätter der ICs, dort steht es nochmal 
ausführlich drin.

>2. Was für einen EEPROM soll ich verwenden?

Wieviel willst du denn speichern? Such dir einen aus, von 2401 bis 
24C512.

MFG
Falk

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.