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