PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Adressierung vom 24C256?



Jannek
14.05.2007, 11:20
Hallo,
ich arbeite momentan an einen kleinen Projekt wo ich einen Datenlogger benötige.
Als EEPROM verwende ich das 24C256.
Ich habe mich auch schon damit eingearbeitet und auch testsoftware am laufen...

Habe momentan den Code:

Schreibe:
I2cstart 'Start I2C
I2cwbyte &HA0 'Sende Slave Adresse
I2cwbyte 1 'Sende Speicheradresse High
I2cwbyte A 'Sende Speicheradresse LOw
I2cwbyte Variable 'Sende Wert
I2cstop 'Stop I2C
Waitms 10 'warte 10ms

dieser ist ja überal zu finden.

Mein Frage ist nun zur Adressierung.
Jedes mal wenn man nach Schreibe geht kann ich ja einen Wert ins EEPROM schreiben. Vorher ist dann natürlich die Variable A zu erhöhen.
Meine Frage ist nun wann den die High Adresse zu erhöhen ist`?
Bin ich mit meiner Annahme richtig das wenn die LOW adresse 255 ist ich die High adresse um 1 erhöhen muss?Dann wieder hoch bis 255 usw.
Bis ich wann für HIGH = 3F und für LOW = FF habe?

vielen Dank im vorraus!
mfg Jannek

vklaffehn
14.05.2007, 11:34
Hallo!

Also das EEPROM ist ein 32Kx8, richtig? Daher benötigst Du 15 Bit für die Adresse quasi in HEX 0x0000 bis 0x7FFF.
Deine Annahme ist korrekt, immer wenn das Lowbyte 0xff (255) ist, mußt Du danach das Highbyte erhöhen und mit dem Lowbyte wieder bei 0 anfangen, allerdings halt nicht bis 0x3f, sondern bis 0x7F. Man kann auch 64 Bytes direkt nacheinander schreiben, wenn man I2xstop weglässt, steht im Datenblatt und nennt sich Page Write.

MfG Volker

Jannek
14.05.2007, 11:42
Hallo,
ja ist ein 32k*8.
Sorry meinte ja 7F und nicht 3F sorry tipfehler!!
Vielen Dank für die schnelle Antwort. Da bin ich ja beruhigt das ich da richtig liege.
Werde dann mal eine kleine if schleife schreiben die dies berücksichtigt....
Vielen Dank

robbifan
14.05.2007, 11:59
schau mal ins datenblatt von 24c256, da kannste auch gleich 64byte auf eimal reinschieben, spart dann zeit.

mfd

Jannek
14.05.2007, 12:09
danke für den tip mit den 64. Aber ich habe sehr viel zeit für die Auswertung und Speicherung. ca. 10 - 20 sek.
und der Wert der gespeichert wird ist auch nicht sonderlich groß!
Will meinen Stromzähler auswerten....

mfg Jannek