hallo, guten tag. ich habe ein i2c eeprom24c256 am avr32. nun möchte ich daten speichern und auslesen,wieviel daten kann man max in der for-schleife senden/lesen, bevor das "Nack" kommen muss? Sub ReadPage() Local tmp As Byte I2Cstart &ha0 I2Cwrite Msb(Padr) I2Cwrite Padr I2CRepStart &ha1 For i=1 To 32 tmp=I2Cread, Ack buf1(i)=tmp Next tmp=I2Cread, Nack I2Cstop End Sub
... hier geht es weiter : Sub WritePage() I2Cstart &ha0 I2Cwrite Msb(Padr) I2Cwrite Padr For i=1 To 32 I2Cwrite buf(i) Next I2Cstop WaitMs 8 End Sub bzw wieviel daten in dieser for-schleife bevor das I2Cstop kommt? mfg
Lesen: In der Regel lässt sich der komplette Inhalt in einem Schwung auslesen. Du musst nur zu Beginn die erste auszulesende Adresse (z.B. 0) übergeben und dann die gewünschte Anzahl an Bytes (in deinem Fall bis zu 32768) auslesen. Das Auslesen des letzten Bytes beendest du mit einem NACK und einer STOP-Condition. Schreiben: Diese EEPROMs können auch im PAGE-Mode beschrieben werden. Damit kannst du mehrere aufeinanderfolgende Bytes innerhalb einer Page gleichzeitig beschreiben (in deinem Fall wohl bis zu 64 Bytes). Nähere Infos kannst du aber auch dem Datenblatt deines EEPROMs entnehmen. Gruß, Magnetus
...innerhalb einer Page .... wie muss man da vorgehen? werden da auch vorher die anzahl der zu scheibenden bytes angegeben, bevor beschrieben wird? mfg
...innerhalb einer Page .... wie muss man da vorgehen? muss da irgendwie ein erkennungsbyte gesendet werden? mfg
Nein, Du schreibst einfach normal innerhalb der Page von z.B. 64 Bytes. So z.B. ab 0. Aber anstelle nur einem Datenbyte (nach der Adresse) folgen halt bis zu 64 (oder auch mehr). Dabei werden intern nur die Bytes in der Page weitergezählt, nach 63 würde wieder Zelle 0 im internen Puffer beschrieben. Das eigentliche Schreiben wird dann durch die Stop-Condition ausgelöst. Gruß Jörg
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.