Hallo Leute, ich brauche am I2C (SMDBus)einen PCF8563. Als Prozessor habe ich einen C8051F352 von SiLabs. Irgenwie bekomme ich keine richtige Kommunikation. Wenn ich Sekunden, Stunden etc. auslese, erhalte ich immer 0xFF als Antwort. Schreiben funktioniert auch nicht. Wo könnte das Problem liegen? Als Anhang meine ausgekoppelte Unterroutine zum auslesen des RTC. Ich hoffe, Ihr könnt mir irgenwie weiterhelfen. Langsam nervt das Problem gewaltig. mfg ruppi985
hi, überprüfe den 32,768kHz Quarz!! ich hatte mal so ein ähnliches Problem mfg Tino
Hallo Tino, danke für den Hinweis! Habe dies aber schon gemacht und konnte nichts ungewöhnliches feststellen. Vieleich weis noch jemand, wo das Problem liegen könnte. mfg ruppi985
Ich sach ma, die Chance, daß noch jemand jemand Silabs 8051, HW-I2C und dann noch mit dem PCF8563 zusammen benutzt, dürfte gegen Null gehen. Mehr Chancen, daß Dir jemand helfen kann, gibt es daher, wenn Du Software-I2C benutzt, das benutzt fast jeder und ist in C auch weitgehend unabhängig vom CPU-Typ. Wenn ich das richtig sehe, wertest Du nirgends das ACK aus, d.h. Du weißt gar nicht, ob der Chip überhaupt adressiert wird. Wichtig ist auch, daß (fast) alle Philipser I2C sehr ungnädig reagieren, wenn man die 100kBit überschreitet. Peter
hallo peter, danke für deine antwort. nun, schau mal in die isr-routine. da wird das ack ausgewertet. sicherlich hastb du recht, dass die chancen gegen null gehen, jemanden zu finden, der meine hardware-konfig benutzt. inzwischen denke ich auch daran, software-i2c zu benutzen. kannst du (oder jemand, der diesen artikel liest) ein sample geben? besten dank an alle, mfg ruppi985
Mit ACK auswerten meinte ich, daß man auch testen muß, obs geklappt hat. status = smbus_read(STATUS1); Hier wir doch nirgends was ausgewertet, d.h. Du weißt nicht, woher das kommt, was Du in status reinschreibst. Du müßtest einen Errorwert zurückgeben, ob smbus_read() erfolgreich war oder nicht, d.h. ob ein ACK auf die Adresse kam. Hier mal meine I2C-Routinen: http://home.tiscali.de/peterd/appl/soft/c51/eeprom/index.htm Peter
hallo peter, vielen herzlichen dank für deine hinweise. du hast recht. es wird in dieser hinsicht nicht überprüft, woher das ack kommt. werde die sache nochmal überdenken. vielen dank für dein sample. wird mir sicherlich weiterhelfen. bist die tage mfg ruppi985
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.