www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PCF8563 und I2C-Bus


Autor: ruppi985 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: ruppi985 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute,

kann hier wirklich keiner helfen??

ruppi985

Autor: Tino (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

überprüfe den 32,768kHz Quarz!!
ich hatte mal so ein ähnliches Problem


mfg
Tino

Autor: ruppi985 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: ruppi985 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: ruppi985 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

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.