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

Re: Nebeneffekte Kategorie: Programmierung (von KönigDichBauch - 18.11.2005 11:41)
Als Antwort auf Re: Nebeneffekte von André H. - 18.11.2005 9:04
Ich nutze:
C164CI-ControllerBoard, OSOPT V3.0
> > Beim Zugriff auf Text[4] blinken die LEDs und beim Zugriff auf Text[5] blinken sie nicht.
> >
> > Ich kann mir nun nur vorstellen, das das OS selber auf dem I2C bus auf der adress 0x76 quasselt.
>
> Nein, hier "quasselt" rein garnichts.
> Ich habe gerade versucht Dein Problem zu rekonstruieren.

Ja mit kleinen Test konnte ich das auch nicht wiederholen.

> Auf dem I²C-Bus tut sich kein sterbens Wörtchen. (Hätte mich auch sonst gewundert.)

Da im Forum über eine Const string array Fehler gesprochen wurde, vermutete ich das da ein paar
Debugstatement übrig geblieben wären.

> Scheinbar hast Du in Deinem Programm irgendwo einen versteckten schwer zu findenden Fehler.
> (Arraygrenzen überschnitten => Schreiben in andered definierte Bereiche des RAM etc.)

Ja, an so was hab ich auch gedacht. Das einzige Array was ich neben dem Text array benutze ist dieses:

type   TMenuItem {
   int A;

   int B;
   int C;
   int D;
   int E;

   int F;
   int G;

   int H;
   int I;
   int J;

   int K;
   int L;
}

TMenuItem MIL[12];


Kurz vor dem Fehler wird auch tatsächlich auf MIL[11] lesend zugegriffen. Daher hab ich mal dies dann auf

TMenuItem MIL[13];

geändert. Aber weiterhin dieser Fehler.

> Poste doch einfach einmal ein kleines Programm, bei dem bei Dir
> dieser "Fehler" auftritt und ich teste es selbst einmal.

Mit einem kleinen Program ist es da leider nicht getan.

Nun bin ich von i2c.c2 auf i2cext.c2 wegen dem clockstretching gewechselt. Nun sehe ich den Fehler nicht
mehr, da ich nichts mehr am internen i2c-bus hängen habe. Werde aber mal den art#1002 auf 0x76
dran hängen. Mal sehn...

Ja, den Fehler finde ich mehr als ungewöhnlich.

Seit der Umstellung auf i2cext habe ich keine Probleme mehr gehabt, ob es was mit dem I2C-Routinen
zu tun hat wäre auch komisch, wie sollte es mit Text[4] oder Text[5] dann sich der Fehler ein oder
ausschalten lassen.


MfG Thomas B.


    Antwort schreiben


Antworten: