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