hi Leute! Ich hab einen PCF8583 in meiner Schaltung! Hardwaremäßig müsste alles ok sein, wenn er spannung bekommt, kann ich am interrupt pin wie im datenblatt beschrieben einen sek. takt abgreifen! Das problem ist nur beim schreiben und lesen! I2C adressen hab ich überprüft aber es lässt sich nichts auslesen! Programmcode: i2c_bus_start(); i2c_byte_write(0xA2); //Adresse des Bausteins i2c_byte_write(0x02); //Adresse des Bausteins i2c_bus_start(); i2c_byte_write(0xA3); //Adresse des Bausteins s=i2c_byte_read(); i2c_bus_stop(); i2c_bus_start(); i2c_byte_write(0xA2); //Adresse des Bausteins i2c_byte_write(0x03); //Adresse des Bausteins i2c_bus_start(); i2c_byte_write(0xA3); //Adresse des Bausteins m=i2c_byte_read(); i2c_bus_stop(); i2c_bus_start(); i2c_byte_write(0xA2); //Adresse des Bausteins i2c_byte_write(0x04); //Adresse des Bausteins i2c_bus_start(); i2c_byte_write(0xA3); //Adresse des Bausteins h=i2c_byte_read(); i2c_bus_stop(); sprintf(buffer,"%2d:%2d:%2d",(int)h,(int)m,(int)s); print_lcd(1,1,buffer); hab ihr eine IDEE??? mfg, geri
HI, was passiert denn beim Lesen? tut sich irgendwas, oder hängt sich das programm auf? Häng mal ein Oszilloskop an die I2C Leitungen, damit du die Signale sehen kannst. Sind diese in Ordnung? Pullup Widerstände sind auch dran?. Im Übrigen kannst du alle drei Datenpakete hintereinander holen, ohne jedesmal neu zu initialisieren. Also mehrfach read hintereinander... beim Letzten bitte das Ack-flag weglassen, bei allen anderen muss es hin!. Aber das steht auch im Datenblatt drin. Ich guck mal nach was ich bei mir für einen Code hab, aber verwende den DS1307. Müsste aber größtenteils vergleichbar sein. Gruß Marc989
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.