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 Christian, > > Du kannst die Ports des I²C-Busses sehr einfach testen: > <code>thread main > { > sfr.set_P3(((sfr.get_P3() and 0xFEFF) or 0x200)); > sleep 2000; > sfr.set_P3(((sfr.get_P3() and 0xFDFF) or 0x100)); > sleep 2000; > }</code> > > Hier sollte sich sich an SDA und SCL ein Wechselblinker mit 4 Sekundentakt ergeben. > Wenn das nicht funktioniert, sind die Ausgangstreiber geschossen. > > > Du kannst auch einmal folgendes Testprogramm ausprobieren: > <code>inline function get_DP3() returns int > { > inline vmcodes.VM_LOAD_ABSOLUTE_INT; > inline 0xFFC6; > } > inline function set_DP3(int value) > { > inline vmcodes.VM_STORE_ABSOLUTE_INT; > inline 0xFFC6; > } > > int x,state; > thread main > { > hwcom.setspeed(8); > sfr.set_ODP3(sfr.get_ODP3() or 0x0300); > sfr.set_P3(sfr.get_P3() and 0xFCFF); > set_DP3(get_DP3() and 0xFCFF); > // set_DP3(get_DP3() or 0x0300); > > loop > { > if ports.getHostkey() state=state xor 1; > if state > { > // sfr.set_P3(sfr.get_P3() and 0xFCFF); > set_DP3(get_DP3() or 0x0300); > } > else > set_DP3(get_DP3() and 0xFCFF); > > x=sfr.get_P3() shr 8; > hwcom.num(system.second());hwcom.tab(); > hwcom.put(state or 0x30);hwcom.tab(); > hwcom.put((x and 1) or 0x30); > hwcom.put(((x shr 1) and 1) or 0x30); > hwcom.ret(); > sleep 500; > } > }</code> > > Es ist zwar dazu gedacht die Open-Drain-Funktionalität an Port3 zu testen, > allerdings ist es auch ein hilfreiches Testprogramm für die Ports des I²C-Busses. > Zum Bedienen brauchst Du ein Terminalprogramm(z.B. Hyperterminal) mit 57.600 Baud > und die Hosttaste. > Wenn State=1 ist, kannst du mit einer Brücke nach GND testen, > ob am Eingang dann ein Low-Pegel erkannt wird. > Wird aber bei State=1, ohne daß etwas an den Busleitungen angeschlossen ist, dennoch > ein Low-Pegel erkannt, ist höchstwarscheinlich der betreffende Port geschossen. > > Im Hyperterminal bekommst Su folgenden Datenrahmen: > <code>Sekunde Sollwert Istwert > 00 1 11</code> (nur als Bsp.) > Die Dritte Zahl spiegelt den Zustand der Busleitungen wieder. > Die erste Ziffer ist SCL, die zweite SDA. > > MfG André H. > > > > Hallo, > > ich habe seit ca.: einem halben Jahr an meiner CC2-Station die PCF/MAX-Rel8-Erweiterung > > über den I2C-Bus angeschaltet. Über eines der Relais wird eine Aussenbeleuchtung gesteuert. > > Seit ca: 4 Wochen funktioniert die Ansteuerung nicht mehr; am Programm und an der HW wurde > > nichts geändert. > > > > Es sieht so aus, als würde die Erweiterung nicht mehr angesteuert bzw. initialisiert. Ich habe den > > Verdacht, als sei der I2C-Bus der Station defekt. Gibt es eine Möglichkeit, dies möglichst einfach > > und zuverlässig zu testen? > > Ich habe auch versucht, alte "Testprogramme" laufen zu lassen, ohne Erfolg. > > > > Wenn jemand eine gute Idee hat, wäre ich dankbar. > > ChristianS.