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 - 27.03.2013 8:06)
Als Antwort auf Re: Statusmeldung 0xF8 von Torsten - 26.03.2013 20:17

> > > > 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.
> >
>
> Hallo J├╝rgen,
>
> in der ATmega128 Dokumentation steht dazu
> folgendes:
>
> >21.7.5 Miscellaneous States
> >
> >There are two status codes that do not correspond
> >to a defined TWI state, see Table 21-6.
> >
> >Status $F8 indicates that no relevant information
> >is available because the TWINT flag is not set.
> >This occurs between other states, and when the TWI
> >is not involved in a serial transfer.
>
> Was nat├╝rlich auch nur besagt da├č deine Kommunikation
> schon abgest├╝zt ist.
>
>  Vieleicht hilft ein I┬▓C-Bus Leitungstreiber?
>  Best.- Nr. 198280
>
>  Wenn du Threads verwendest dann Thread_Lock(X);
>  nicht vergessen aufzurufen.
>
>  Gru├č Torsten
>
> >
> > 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.

Danke f├╝r deine Antwort, werde mal hier weitersuchen.


    Antwort schreiben


Antworten: