Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

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)