M24M02 EEPROM

OP #2642704
Lesenswert?

OK Danke schonmal

Noch eine kurze Frage.  Write Control kann die ganze Zeit auf LOW sein.
Bekomme ich nur den Wert 255 ausgelesen.
1
#define F_CPU 16000000
2
#include <avr/io.h>
3
#include <mk3/MK3_2560_TWI.h>
4
#include <mk3/MK3_2560_LCD.h>
5
#include <avr/delay.h>
6
int main(void)
7
{
8
  char n=0;
9
  MK3_INIT_LCD();
10
  MK3_LCD_CLEAR();
11
  MK3_INIT_TWI();
12
  MK3_TWI_START();
13
  MK3_TWI_SEND(0xA0,false); // ADRESSE DEVICE
14
  MK3_TWI_SEND(0x00,false); // REGISTER ADRESSE
15
  MK3_TWI_SEND(0x55,false); //DATEN
16
  MK3_TWI_STOP();
17

18

19
  _delay_ms(1000); 
20
  MK3_TWI_START();
21
  MK3_TWI_SEND(0xA0,false); // ADRESSE DEVICE
22
  MK3_TWI_SEND(0x00,false); // REGISTER ADRESSE
23
  MK3_TWI_START();
24
  MK3_TWI_SEND(0xA0+1,false); Daten auslesen
25
  n=MK3_TWI_READ(false); 
26
  MK3_TWI_STOP();    
27
  
28
   MK3_LCD_PRINT_UINT(n);
29
    while(1)
30
    {
31
        
32
    }
33
}
#2643592
Lesenswert?

@  Christoph B. (christoph_b)

>Ich muss ein Array mit 1026 Werten abspeichern.Ich kann ja max 256 Bytes
>nacheinander schreiben.

Eben, also musst du blockweise schreiben, aka Page mode.

> Muss ich nach 256 Bytes das WC kurz auf High

Nein.

>ziehen oder wie läuft der weiter Schreibvorgang ab?

Datenblock in den EEPROM schreiben, I2C_STOP, dann schreibt er und 
reagiert erst wieder auf I2C Kommandos, wenn er fertig geschrieben hat.

MfG
Falk

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren