Re: I2C-Bus defekt? Kategorie: I²C-Bus (von André H. - 9.09.2005 11:07) | ||
Als Antwort auf I2C-Bus defekt? von ChristianS - 5.09.2005 8:05 | ||
| ||
Hallo Christian, Du kannst die Ports des I²C-Busses sehr einfach testen: 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; } 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: 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; } } 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: Sekunde Sollwert Istwert 00 1 11 (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. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | ||
Antwort schreiben Antworten: Re: I2C-Bus defekt? (von ChristianS - 9.09.2005 13:50) Re: I2C-Bus defekt? (von ChristianS - 9.09.2005 14:42) Re: I2C-Bus defekt? (von ChristianS - 9.09.2005 15:16) Re: I2C-Bus defekt? (von Werner Radfelder - 11.09.2005 23:57) Re: I2C-Bus defekt? (von ChristianS - 12.09.2005 12:15) Re: I2C-Bus defekt? (von ChristianS - 26.09.2005 19:30) |