Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo Zusammen, > > habe tatsächlich dann mal ein Oszilloskop an den Bus gehängt. Die Signale sehen gut und sauber aus, > (hab' ja auch an jedem Modul einen P82B715 mit 2k als PullUp) allerdings habe ich festgestellt, daß der > LOW Signalpegel schon so bei 0,7 V liegt.... Im Anzugsmoment der Relais könnten das auch 1,5 V > werden. Werde also die Masseleitung deutlich im Querschnitt erhöhen. (Schirmung und alle freien Adern mit in > die Masse) > Dane für die Tips, > > Detlef > > > Hallo Detlef, Rene, Jörg, Joerg, Icebear, > > > > Probleme beim Multithreading mit dem I²C-Capture sind mir nicht bekannt. > > Auch ich greife in unterschiedlichen Projekten aus vielen Threads auf den I²C-Bus zu. > > (teilw. über 10 zugreifende Threads) > > Das I²C-Capture ist identisch mit den Capture des Moduls cap.c2. > > Daran kann es nicht liegen. > > Es wäre aber denkbar, daß irgendeine Funktion das I²C-Capture nicht oder > > nicht korrekt nutzt. Ich möchte hier nicht ausschließen, daß in einer Funktion > > der Module sich ein Fehler eingeschlichen hat. > > Es reicht schon, daß an einer Stelle versehentlich das I²C-Capture zufrüh mit > > i2c.stop() gelöst wird, als diese mit i2c.cstop() zu halten. > > Möglich wäre auch eine ungecapturete I²C-Bus-Routine, die erst ab einem bestimmten > > "Zugriffsmuster" auffällt. > > Es kann aber auch hardwarebedingt sein, wenn der Bus grenzwertig betrieben, daß > > es am Bus vereinzelt zu Störungen kommt. > > (z.B. zu viele Slaves pro Bussegment bzw. ungünstiges Verhältnis Anzahl/Länge) > > Dies kann dazu führen, daß ab einer bestimmten Busauslastung Störungen entstehen. > > Die Analyse ist dann natürlich schwierig. > > > > Wichtig ist auf jeden Fall mögliche Busfehler weitgehenst abzufangen. > > Das fängt damit an, die Rückgabewerte der Funktionen auszuwerten, ob Slaves ansprechbar sind. > > Ein zweiter Schritt kann gerade beim Auslesen sein, die Abfrage doppelt bzw. > > mehrfach auszuführen, um die eingelesenen Daten zu verifizieren. > > Bei Ausgängen, sollte im zweifelsfall zurückgelesen werden, um falsche Daten > > korrigieren zu können, bevor das Relais reagiert. > > > > Man muß sich immer vor Augen halten, daß es beim I²C-Bus keinen Mechanismus > > gibt, um falsche Daten auszuschließen. (z.B. duch Prüfsummen) > > > > MfG André H. > > > > > > > > > > Hat jemand von Euch schon den I2C exessiv in mehreren Threads verwendet? > > > > > > Ich habe folgendes Problem. Ich habe eine Haussteuerung mit ca. 80 Eingängen, > > > ca. 80 Digitalen Ausgängen und 24 Dimmern aufgebaut. Dazu habe ich im wesentlichen 20 MAX7311 > > > verwendet.Von der Logik her gibt es mehrere Threads, einen, der zyklisch alle Eingänge abfragt, einen, > > > der direkte Ausgänge steuert und einen, der Dimmer soft an un ab dimmt. Funktioniert soweit > > > einwandfrei, allerdings, sobald nur noch ein Thread dazukommt, der auch auf den I2C zugreift, > > > fängt das ganze System zu spinnen an. > > > (Im Schlafzimmer dimmt das Licht runter, und unten im WOZI fahren plötzlich Jalousien los) > > > Mein Verdacht, die Captures (cstart, stop) funktionieren > > > irgendwie nicht. Fehler in der Software kann ich nicht finden, jede Komponente für sich funktioniert, > > > nur als System zusammen gehts den Bach runter. > > > > > > Hat irgendjemand ähnliche Erfahrungen gemacht? > > > > > > Viele Grüße > > > > > > Detlef