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 habe mal versucht einen Drehgeber (IGR) mit zwei um 90° phasenverschobenen Kanälen mit der C-Control2 auszuwerten. Dazu habe ich das Modul sfr.c2 nach Userlib für Gemeinsame Module kopiert. Die beiden Kanäle des IGR habe ich an Host und Freq1 angeschlossen. Es werden aber keine richtigen Impulszahlen angezeigt. Wenn ich zwei Taster anschließe und das Signal imitiere stehen bei Pausenzeiten von mehreren Sekunden Impulszahlen von -4 bis maximal 4 da. Aber ich drücke die Taster viel öfter. > > MfG M.Walter > > Hier das Programm. Irgendwas ist wohl falsch programmiert. > > string s; // Stringvariable deklariren > const PushPin=3; //an P1L.3 angeschlossen > int pushed; > int counts; > > function init() > { > ports.set(PushPin,0); > ports.deact(PushPin); //erlaube Inkrementalgeber > sfr.set_T3CON(0b0000000101110001); //Incremental Interface Mode > pushed=constant.FALSE; > counts=0; > } > > function get() > { > counts=sfr.get_T3(); > sfr.set_T3(0); > pushed=not(ports.get(PushPin)); > } > > thread main > { > init(); // IGR INTIALISIEREN > > loop // Schleife > { > > sleep 10000; // opotionale Pausenzeit (10 Sekunden) > > get(); // IGR Auslesen > > s=""; // Anzeige Impulszahl auf LCD > str.putint(s,counts); > lcd.goto (1,0); > lcd.clreol(); > lcd.print(s, str.length(s)); > > } > > quit 1; // Hostmodus > > } > >