Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Probleme mit i2ccom Kategorie: I²C-Bus (von Udo - 14.03.2004 0:32)
Als Antwort auf Re: Probleme mit i2ccom von André H. - 13.03.2004 20:27
Ich nutze:
C-Control II Unit, eigenes Board, OSOPT_V2
> Hallo Udo,
>
> Es gibt leider einen kleinen aber fatalen Bug in i2ccom.c2 V2.02 .
> Somit funktioniert die Funktion get() nicht.
> Mir war dies eine Zeit lang nicht aufgefallen, da ich hauptsächlich
> die funktion receive nutze, um den Bus(& die CC2) weniger zu belasten.
>
> Der Fehler liegt bei den Einsprungadressen.
> Sie sollten so lauten:
> //--- Einsprungadressen (ASM-Treiber) ------------------------------------------
> const _BAUDRATE = 0xD298;
> const _SETREG   = 0xD2F0;
> const _GETREG   = 0xD324;
> const _PUT      = 0xD344;
> const _GET      = 0xD3A8;
> const _RXD      = 0xD3BC;
> const _READY    = 0xD3DE;
> const _PRINT    = 0xD402;
> const _SEND     = 0xD46A;
> const _SENDA    = 0xD480;
> const _RECEIVE  = 0xD4E0;
> const _RECEIVEA = 0xD4FA;
>

>
> Den Fehler habe ich vor ca. 4 Wochen gefunden.
> Für das finden der Ursache fast eine Woche.
> (Wer vermutet schon, daÃ? man sich bei der Einsprungadresse vertippt.)
>
>
> MfG André H.
>
>
Hallo André,

danke für die Antwort.
Allerdings vermute ich, dass Du mir aus Versehen die fehlerhaften Einsprungadressen gepostet hast.
Ich kann jedenfalls keinen Unterschied zu den von mir verwendeten feststellen.
Um sicherzugehen, dass ich nichts übersehen habe, habe ich trotzdem mal mit copy&paste die
obigen Adressen eingebaut, was am Fehlerbild aber nichts geändert hat.
Welche Adresse(n) sollte(n) sich denn geändert haben?

Zwischenzeitlich habe ich auch mal alternativ die Funktion receive eingebaut. Ich habe zwar nur einen
kurzen Test gemacht, aber es sieht so aus, als ob damit alles so funktioniert wie es soll. Allerdings
kann ich diese Funktion nicht so elegant verwenden, da ich im Voraus nicht weiss, wie viele Bytes
zu empfangen sind (das Teil von dem ich Daten empfangen möchte, müllt mich in den Zeiten wo
es eigentlich nichts zu melden gibt, unregelmässig mit einer unbestimmten Menge an Füllbytes zu).
Daher muss ich die receive-Funktion so konfigurieren, dass sie immer nur 1 Byte empfängt und so
quasi zu einer get-Funktion degradieren.

Viele Grüsse

Udo


    Antwort schreiben


Antworten:

Re: Probleme mit i2ccom (von André H. - 14.03.2004 9:22)
    Re: Probleme mit i2ccom (von Udo - 14.03.2004 22:03)