Forum: Mikrocontroller und Digitale Elektronik Problemen mit 24LC01B


von Simon A. (bullwai)


Lesenswert?

Hallo,

ich hätte eine Frage bezüglich 24LC01B. Hab mir den EEPROM Baustein vor 
einer Woche zugelegt und wollte ihn gleich zu meinem Mikrocontroller 
hinzuschalten, um eine Temperaturauswertung zu machen.
Hab den Baustein nach Datenblatt beschaltet, darin steht auch, dass die 
Anschlüsse A0, A1, A2 potentialfrei sein können, oder gegen Vss od. Vcc 
geschaltet werden können. Ich habe sie gegen Masse (Vss) geschaltet. SCL 
und SDA hab ich mit einem 4,7k Widerstand anstatt einen 10k Widerstand 
auf Vcc geschaltet.

Der Sourcecode sieht folgendermaßen aus:

#include <18F452.h>

#fuses HS, NOWDT, NOBROWNOUT, NOLVP
#use delay(clock=20000000)
#use I2C(master, sda=PIN_C4, scl=PIN_C3)
#use RS232(baud=9600,xmit=PIN_C6,rcv=PIN_C7)

int data;

void main(){

while(1){

  i2c_start();
  i2c_write(0x90);     // Device address
  i2c_start();         // Restart
  i2c_write(0x91);     // to change data direction
  data=i2c_read(0);    // Now read from slave
  i2c_stop();
    printf("\r\nTemp: %3u",data);
  delay_ms(200);
}
}

Nun wollte ich fragen, ob meine Beschaltung (4,7k anstatt 10k 
Widerstand) oder mein Sourcecode fehlerhaft ist.

mfg Simon

von Magnetus (Gast)


Lesenswert?

Die Adresse ist 0xA0 zum Schreiben und 0xA1 zum lesen!

Gruß,
Magnetus

von Magnetus (Gast)


Angehängte Dateien:

Lesenswert?

Anbei der Auszug aus dem Datenblatt...

von Simon A. (bullwai)


Lesenswert?

Danke!!

von Magnetus (Gast)


Lesenswert?

Simon A. schrieb:
> Danke!!

Und geht es jetzt?

von Olaf (Gast)


Lesenswert?

> Und geht es jetzt?

Unwahrscheinlich da i2c_start was anderes sein duerfte als i2c_restart 
und ich sehe auch garnicht das er die Adresse uebertraegt von der er 
lesen will.


Olaf

von Simon A. (bullwai)


Lesenswert?

Magnetus schrieb:
> Und geht es jetzt?

Kann es erst morgen austest, da ich meine Platine am Arbeitsplatz 
vergessen habe. Hoffe es geht!
Werde dir morgen eine Antwort schreiben ob es funktioniert!

mfg Simon

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
Noch kein Account? Hier anmelden.