Auswertung Drehgeber Kategorie: Programmierung (von Maik Walter - 4.07.2002 15:18) | |
| |
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 } | |
Antwort schreiben Antworten: Re: Auswertung Drehgeber (von Maik Walter - 4.07.2002 16:46) |