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

Re: Anfängerproblem? I2C lässt Progamm einfrieren Kategorie: I²C-Bus (von André H. - 29.04.2007 23:55)
Als Antwort auf Anfängerproblem? I2C lässt Progamm einfrieren von B.Vester - 26.04.2007 22:07
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.0, OSOPT V3.1
Hallo Björn,

> Moin, wieder mal der Neue...
>
> Ich habe die CControl2 Station nun soweit und kann Ausgaben aufs Display machen. Doch scheinbar friert das
> Programm bei einem i2c.cstart(Adresse); i2c.write(0x0A); i2c.cstop(); ab. Ich lasse vorher ein i2c.init(); laufen
> und bis vor dem i2c.cstart funktioniert die Ausgabe. Wo ist der Haken?

Lies bitte die HTML-Hilfe zu i2c.c2, und schaue Dir die Verwendung
in anderen Modulen dazu an, die den I²C-Bus verwenden.

i2c.cstart steht für Captured-Start => I²C-Capture-Flag wird gesetzt
i2c.cstop steht für Captured-Stop => I²C-Capture-Flag bleibt gesetzt
Das I²C-Capture-Flag wird erst wieder gelöst, wenn es mittels
i2c.stop() wieder gelöst wird.

Wenn nun aber nach einem i2c.cstop() ein i2c.cstart() folgt,
führt das natürlich zu einem Deadlock des Threads.

Wenn das nicht hilft, hast Du entweder die Einsprungadressen in i2c.c2
geändert - standardmä�ig sind die über OSOPT V3.x ausgewählt - oder Du hast
noch ein altes OS in der CC2.

Du brauchts übrigens kein i2c.init() ausführen. Das wird beim Starten
des OS automatisch gemacht.


MfG André H.



Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten: