www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik eeprom 24c16 mittels i2c lesen und schreiben


Autor: peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

ich finde den fehler nicht warum ich mittels i2c das eeprom 24c16 nicht 
lesen und beschreiben kann. hat jemand eine Idee??

elektrischer anschluss pin 1 bis4 auf masse 7 und 8 auf vcc 6 clock 5 
sda.
ich benutze das pollin board.
mittels i2c kann ich einen PCF8574 einwandfrei ansteuern(externe 
platine).
Ich habe 2 boards > beide gleiche Fehlererscheinung (sind ok)
mehrere EEPROMs ausprobiert
prozessortakt runtergesetzt

als compiler mehme ich codevision avr

meine routinen habe ich beigefügt, ich komme nicht dahinter warum das 
nicht funktionieren will??
Danke schon mal für eure tips!

gruß
peter


// I2C Bus functions
#asm
   .equ __i2c_port=0x15 ;PORTC
   .equ __sda_bit=1
   .equ __scl_bit=0
#endasm
#include <i2c.h>

#define EEPROM_BUS_ADDRESS 0xa0

/* read a byte from the EEPROM */
unsigned char eeprom_read(unsigned char address) {
unsigned char data;
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS);
i2c_write(address);
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS | 1);
data=i2c_read(0);
i2c_stop();
return data;
}

/* write a byte to the EEPROM */
void eeprom_write(unsigned char address, unsigned char data) {

i2c_start();
i2c_write(EEPROM_BUS_ADDRESS);
i2c_write(address);
i2c_write(data);
i2c_stop();

/* 10ms delay to complete the write operation */
delay_ms(10);
}

Autor: Mark .. (mork)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,

das Pollinboard hat leider einen kleinen Bug: Der 7te Pin des 
EEPROM-Sockels ist mit VCC verbunden, was dafür sorgt, dass das EEPROM 
nicht beschrieben werden darf(siehe Datenblatt). Man muss einfach die 
Leiterbahn zu dem Pin z.b. mit einem Messer durchtrennen, und schon ist 
die Write Protection deaktiviert.

MfG Mark

Autor: peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
guter tip

habe das beinchen aus dem sockel raushängen lassen, aber leider die 
gleiche fehlererscheinung!
bei read bekomme ich immer den wert 0xff.

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pull Down Widerstand?

MW

Autor: peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
pull down hat auch nichts gebracht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.