Hallo, ich versuche ein 24C16 EEPROM über TWI zu beschreiben und den Wert wieder auszulesen. Das ganze soll in erster Linie der Übung im Umgang mit TWI dienen. Leider habe ich gleich das erste Problem. Ich schreibe den Wert 0x2F in die Adresse 0x00, lese dann das EEPROM und möchte diesen Wert dann binär über 8 LEDs darstellen. Das Schreiben scheint noch zu klappen (zumindestens steht es im Statusregister 0x28). Beim Auslesen ist meine letzte Meldung im Statusregister 0x40 (SLA+R has been transmitted; ACK has been received) im TWDR steht allerdings dann immer noch die Adresse vom EEPROM+R (01010001). Habe sowohl CURRENT ADRESS READ wie RANDOM ADRESS READ probiert alles scheint tadellos abzulaufen bis der mega das Byte vom EEPROM empfangen sollte..... Es bleibt immer die Adresse vom 24c16 im TWDR stehen..... Hat einer von euch ne Idee woran das liegen könnte?
Also A0,A1,A2 und WP(WC) liegen alle auf Masse, womit sich die Adresse 1010000+R/W ergeben- und ein beschreiben jederzeit möglich sein sollte oder liege ich da jetzt falsch?
Also wenn die Pullup Widerstände auch dran sind sollte das in Ordnung sein. Ich würde allerdings von Anfang an das Programm übersichtlicher in Funktionen gliedern. Hier: http://www.avrbeginners.net/interfacing/24C16/24C16.html ist ein schönes Beispiel dafür. Hat im Text allerdings auch einen Fehler, deshalb am Besten gleich den C Code am Ende mit dazu anschauen und die LCD Funktionen durch die LED Ausgabe ersetzen. ... hp-freund
Also mit der TWI-Library von Fleury funktioniert es einwandfrei, ich wollte es halt selbst probieren um das ganze zu verstehen. Verstehe ich das richtig das ich den 24C16 nur jeweils mit 2KByte beschreiben kann? (abhängig von E0,E1,E2) das ergibt ja dann 2^3= 8 x 2K = 16K somit ist nur ein 24C16 an einem I2C Bus möglich, sehe ich das richtig?
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.