Einfügen als Gemeinsames Modul
Funktionen:
init()
getstate()
getbin()
getchar()
getstr()
released()
Beschreibung Nach oben
Das Modul pcfkeyb.c2 ist ein Treiber für eine Matrixtastatur
bis 4x4 an
einem PCF8574 Portexpander z.B. am I2C-Terminal von CCTools.
Alle Funktionen sind über das I²C-Capture gecaptured.
Einfügen als Gemeinsames Modul
Nach oben
Die Datei pcfkeyb.c2 in das Verzeichnis .\CControl2\UserLib
der IDE
kopieren und in der Datei modules.txt die Zeile pcfkeyb.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.
Konstanten Nach oben
const IntPort=15;// Port für PCF-Interrupt (0 bis 15)
// Dieser Port benötigt einen Pull-Up Widerstand (z.B. 10k)
Dies ist der I/O-Port für die Interrupterfassung des PCF8574
const Char[]=
0x33,0x36,0x39,0x23,
// rechte Spalte
0x32,0x35,0x38,0x30,
// mittlere Spalte
0x31,0x34,0x37,0x2A,
// linke Spalte
'A'
,'B' ,'C' ,'D' ;
// Nur für 4x4 Matrix
Das Array Char muß ggf. der verwendeten Tastatur angepasst werden.
Es beinhaltet die Rückgabewerte der einzelnen Tasten.
Funktionen:
init()
Nach oben
function init(byte pcf, byte matrix) returns int
Mit der Funktion init() wird der verwendete PCF8574 initialisiert
und die Art der Matrixtastatur festgelegt.
pcf | Baustein: 0-7 PCF8574, 8-15 PCF8574A |
matrix | 0 : 3x4 Matrix , !=0 : 4x4 Matrix |
getstate()
Nach oben
function getstate() returns int
Die Funktion getstate() fragt alle Tasten der Tastatur ab und
gibt
die Zustände als 16Bit Bitmuster zurück.
Diese Funktion wird von allen anderen Abfrage-Funktionen benötigt.
Sie sollte nicht direkt verwendet werden.
getbin() Nach oben
function getbin(byte delay) returns int
Mit der Funktion getbin() wird solange gewartet, bis eine
oder
mehrere Tasten gedrückt werden, und anschließend das16 Bit Bitmuster
zurückgegeben.
Es kann mit dem Wert delay eine Verzögerung in ms angegeben werden, um
Fehler durch evtl. Tastenprellen zu unterdrücken.
delay | Verzögerung in ms (0-255) |
getchar()
Nach oben
function getchar(byte delay) returns byte
Mit getchar() wird auf einen Tastendruck gewartet und
anschließend
der Zeichencode entsprechend dem Konstantenarray char[] zurückgegeben.
Es kann mit dem Wert delay eine Verzögerung in ms angegeben werden, um
Fehler durch evtl. Tastenprellen zu unterdrücken.
delay | Verzögerung in ms (0-255) |
getstr()
Nach oben
function getstr(byte delay, byte s[]) returns byte
Mit der Funktion getstr() wird solange gewartet bis eine oder
mehrere
Tasten gedrückt wurden, und anschließend das Ergebnis als String
zurückgegeben.
Im String werden so viele Zeichen nach dem Zeichencode char[]
geschrieben,
wie Tasten gedrückt sind. Zusätzlich wird die Anzahl der Zeichen(=gedrückte
Tasten)
zurückgegeben.
Es kann mit dem Wert delay eine Verzögerung in ms angegeben werden, um
Fehler durch evtl. Tastenprellen zu unterdrücken und zuverlässig das Drücken
mehrerer Tasten zu erfassen.
delay | Verzögerung in ms (0-255) |
s[] | String-Variable für Zeichencodes der gedrückten Taste(n) |
released() Nach oben
function released(byte warte) returns int
Mit released() wird abgefragt, ob noch eine Taste gedrückt ist,
oder
alle Tasten losgelassen wurden. Es wird entsprechend True(-1)
zurückgegeben, wenn alle Tasten losgelassen wurden, andernfalls False(0).
Mit dem Parameter warte kann bestimmt werden, daß die Funktion solange
warten soll, bis alle Tasten losgelassen wurden.
warte | >0 : es wird gewartet, bis alle Tasten
losgelassen wurden 0 : es wird nicht gewartet |
Autor: André Helbig Mail: andre.h@cc2net.de
Erstellt: 2.8.2003