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, > > ich brauche mal wieder Hilfe. Will eine Relais-Platine mit PCD8574 und C-MOS 4049 ansteuern. > > DIE VORGESCHICHTE: > Zu Testzwecken habe ich mir mal ein PCF mit Sockel auf eine Mini.Platine gelötet und nur die > Spannungsversorgung und den I2C Bus angeschlossen. Dann wollte ich min on/off/in/out mal rumprobieren. > Als ich dann die aktuelle PCF.C" runtergeladen hatte, musste ich feststellen, dass sich die Funktionen > beide in der Zeile " if not i2c.cstart(Addr[addr]) {i2c.stop();return 0;}" aufhängen. Einfach mal "//" eingefügt > und es lief. Bis dahin war es nicht schlimm. > > Nun habe ich mir eine Platine fertig gemacht mit 5 PCF8574. Alle Verbindungen und Anschlüsse geprüft und > dann die ICs aufgesteckt. Und nun wollte ich wieder zum Testen die Funktionen on/off/in/out verwenden, aber alle > Ports bliben auf high. > > Also kleines Testprogramm mit Ausgabe geschrieben, damit ich am Rechner sehen kann, wo es klemmt. > > hwcom.init(); > hwcom.setspeed(8); > i2c.init(); > pcf.init(); > s="Init";hwcom.print(s); > i=pcf.init(); > s=" ok ";str.putint(s,i);hwcom.print(s); hwcom.ret(); //POS1 > s="Port off";hwcom.print(s); > i=pcf.off(7,0); > s=" ok ";str.putint(s,i);hwcom.print(s); hwcom.ret(); > > Leider musste ich feststellen, dass sich das Prog wieder bei CSTART in I2C aufhängt :( > Ich habe daraufhin noch einmal alle aktuellen Modue runtergelagen und die Testplatine mit nur einem > PCF angeschlossen. Keine Änderung. > > Also: wenn ich die Abfrage "i2c.cstart(pcf.Addr[x])" in PCF.C2 drinlasse, hängt sich das Prog auf und > wenn ich die Zeile rausnehme bleiben die Ports bei > > i2c.init(); > pcf.init(); > pcf.out(7,0) oder pcf.off(7,x); > > alle auf high. > > Auch ein direkter Aufruf der Funktion i=i2c.cstart(pcf.Addr[x]) führt zum Hänger in der main. > > Die Ausgabe oben unter "//POS1" ergibt 1152 = 10010000000. Wenn ich das richtig verstanden habe > hat er mein PCF unter Adr. 7 gefunden und man kann sagen, dass der Bus ok ist. > > Irgendwie bin ich an dem Punkt, an dem ich nicht mehr weiter weiss : HILFE :) > Ich drehe hier am Rad, bitte helft mir. > > Übrigens: aktuelles OS ist drin: 2001/08/19 > > In der I2C.C2 habe ich noch den Eintrag "requires : vmcodes.c2, capture.hex release >= 2003/9/10" > gefuden. In meiner vmcodes Datei steht im header:"release : 2000/09/25", eine neuere habe ich nirgens > gefunden. Eine capture.hex finde ich überhaupt nicht, wie kann ich es prüfen? Kann es daran liegen? > > Schon mal DANKE!!!!!!! > Gruß > Klaus > > PS: habe auch mal ein anderes neues PCF genommen, fnzt auch nicht. Die ist ein PCF8574AP, wäre also > über die Adresse 8-15 aus der PCF.C" ansteuerbar. Damit wirft sich aber noch eine frage auf: > wenn in dem int-Wert als return von pcf.init() das 11. Bit für das intere LCD steht, kann man die Adresse > 2 dann nicht mehr für PCF8574AP verwenden?