INKREMENTAL.C2 V1.11 - Hilfe


Beschreibung

Einfügen als System-Modul

Globale Variablen

Funktionen:

readspeed
init
get_position
getPushKey

Threads:
ink


Beschreibung   Nach oben

Das Modul inkremental.c2 erlaubt das Auswerten eines Inkrementalgebers
an der C-Control II über das hardwareseitige Interface des C164CI.
Hierfür wird der Timer 3 in den "incremental interface mode" geschalten.
Der Inkrementalgeber wird über die Ports P3.6 (=FRQ.1 = Timer3In) und
P3.4 (=Host-Pin) angeschlossen.
Außerdem wird noch ein beliebiger I/O-Port für die Interfaceschaltung benötigt,
welcher zugleich als Eingang für eine Taste dient. (optionale Taste des Inkrementalgebers)
Wird keine Interfaceschaltung benutzt, so wird die C-Control II nach einem Reset,
je nach Rasterstellung des Gebers, in den Hostmode versetzt.

Einfügen als System-Modul   Nach oben

Die Datei inkremental.c2 in das Verzeichnis .\CControl2\Lib kopieren und
in der Datei modules.txt die Zeile ram.c2 einfügen.
Ein zusätzliches Ausrufezeichen unmittelbar nach einem Modulnamen in modules.txt bestimmt,
daß das Modul in jedem neuen Projekt von Anfang an aktiviert wird.

Globale Variablen   Nach oben

long Position; // absolute Position des Gebers
int  speed;    // Anzahl der Schritte innerhalb der letzten Sekunde
byte EnPushPin;// Portnummer für Enabel-Pin / Drehgeber-Taster
               // Wird über die Funktion Init() festgelegt


Funktionen:

readspeed()   Nach oben

    function readspeed()

Diese Funktion wird modulintern benötigt und sollte nicht direkt aufgerufen werden.
Mit dieser Funktion wird regelmäßig der Zähler abgefragt und die Drehgeschwindigkeit
ermittelt.

Initialisierung   Nach oben

    function init()

Mit dieser Funktion wird das Inkremental-Geber-Interface des C164CI initialisiert
und eine angeschlossene Interfaceschaltung freigegeben.
Als Parameter wird der I/O-Port angegeben, an welchem sich der Enable-Pin
der Interfaceschaltung, sowie der optionale Taster des Drehgebers befinden.

EnPushPort I/O-Portnummer 0 bis 15


Abfrage der Absoluten Position   Nach oben

    function get_position() returns long

Mit der Funktion get_position() wird die aktuelle absolute Position
des Inkremental-Gebers abgefragt.


Abfrage der Drehgebertaste   Nach oben

    function getPushKey() returns int

Mit dieser Funktion wird der Schaltzustand der Drehgebertaste abgefragt.
Die Taste muß gegen GND schalten.
Ist die Taste gedrückt, wird TRUE (-1) zurückgegeben, andernfalls FALSE (0).


Thread ink{}   Nach oben

Dieser Thread wird Modulintern benötigt, um den Inkrementalgeber zyklisch
abzufragen.
Der Thread wird mit dem Aufruf der Funktion init() gestartet.


Autor: André Helbig    Mail: andre.h@cc2net.de    Erstellt: 08.02.2005