Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Statusmeldung 0xF8 Kategorie: I²C-Bus (von JORE - 26.03.2013 18:14)
Als Antwort auf Re: Statusmeldung 0xF8 von Jürgen A. - 24.03.2013 15:03

> > Hallo zusammen,
> >
> > ich habe mit dem IIC Bus gelegentlich Probleme. Wenn das Problem auftritt kommt es beim Datenlesen
> > zur Statusmeldung 0xF8 und dann stürzt der Prozessor praktisch ab. 0xF8 kann ich in der Statustabelle
> > nicht finden.
> >
> > Vielleicht kann mir jeman helfen, was z. B.: 0xF8 bedeutet.
>
> Hallo...
>
> soweit mir bekannt ist, ist bei vielen I²C Erweiterungen der Default Wert des Statusregister
> 0xf8... also der Standardwert.
>
> WeiÃ? nicht ob es bei allem so ist, aber bei vielem Chips ist das so...
>
> z.Bsp.PCF8584 , PCA9564
>
> Warum dann alles Abstürzt, würde ich auf eine schlechte Datenverbindung (Kabel, Entfernung, Störungen,
> Steckverbindung ect.) schieben....
>
>
> Vielleicht hilft dir das ja weiter....

Danke für deine Antwort,

mein Problem ist, ich habe um eine RS 232 zu wenig. Deshalb habe ich mir mit einem PIC 16F84
eine serielle Schnittstelle mit den notwendigen 3200 Baud gebaut. Dieser PIC liest zuerst
die Daten von einer PV Anlage (RS 232) und gibt diese dann, wenn adressiert auf den
IIC Bus. Auf dem IIC Bus befinden sich jedoch noch ein Farbtouchdisplay und 9 Stück Port-
erweiterungen PCF 8574-diese funktionieren einwandfrei.
ich lese vom PIC ca. alle 9 Sekunden die Daten von der Anlage ein.
Beim Adressieren des PIC frage ich dann den IIC Bus Status ab ob das Ack vom PIC gekommen ist.
Ist dies der Fall hole ich mir die Daten (6 Bytes). Dieses Datenlesen funktioniert über längere Zeit
jedoch kommt es am Tag zu 5 bis 10 Abstürzen.
Ich habe nun festgestellt, dass die Abstürze beim Lesen der 6 Bytes und zwar beim 3 oder 4 Byte
erfolgen. Mit I2C_Status() frage ich nach jedem Byte den Status des Busses ab, und hier steht dann
anstatt 0x58, 0xF8. Nur finde ich 0xF8 nicht in der Hilfedatei unter den Statusmeldungen.


Bis auf das Display befinden sich alle Busteilnehmer in einem Rack. PIC und C-Control sind auf einer
Platine. Das Display wird mit einem Treiber angesteuert.

Ich bin auch für andere Lösungen zur Erweiterung der RS 232 offen. Die Initialisierung der
RS 232 Schnittstelle darf ich ja im Program nicht ändern? Sonst könnte ich mit einem Analogmux
zwischen 2 Schnittstellen kontrolliert umschalten.


    Antwort schreiben


Antworten:

Re: Statusmeldung 0xF8 (von Torsten - 26.03.2013 20:17)
    Re: Statusmeldung 0xF8 (von JORE - 27.03.2013 8:06)
Re: Statusmeldung 0xF8 (von Tobias - 26.03.2013 20:00)