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 Torsten - 26.03.2013 20:17)
Als Antwort auf Re: Statusmeldung 0xF8 von JORE - 26.03.2013 18:14
Ich nutze:
C-Control Pro Mega128
> > > 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.


    Antwort schreiben


Antworten:

Re: Statusmeldung 0xF8 (von JORE - 27.03.2013 8:06)