pcfkeyb.c2 3x 8574 ansteuern Kategorie: I²C-Bus (von Borris Koszlat - 30.03.2006 16:25) | ||
| ||
Einen wunderschöenen Guten Tag! Ich habe mal vor längerem hier einen post getätigt welcher sich mit der Abfrage von den PCF8574 mit dem pcfkeyb.c2 Modul beschäftigte. Nun bin ich so weiter gekommen, das ich mit einem pcf8574 mit dem Modul pcfkeyb.c2 alle 16 Tasten abfragen und 7-9 stellige Eingaben machen kann welche immer mit einer fiktiven "Return-Taste" abgeschlossen werden. Eigentlich wollte ich ca. 150 mögliche 7 bis 9 stellige Pinnummern eingeben diese sind keine Zahlen sondern Buchstaben. Bis hierhin funktioniert auch alles. Allerdings möchte ich nun insgesamt 3 solcher pcf8574 mit dem Modul pcfkeyb.c2 abfragen. Ich habe alle Interrupts zusammen auf Port 15 gelegt. Das funktioniert auch soweit, aber ich habe mich jetzt sehr mit dem pcfkeyb.c2 Modul beschäftigt und weiss nicht wiso ich trotzt logischer Vorgehensweise keine anständige Abfrage hinbekomme. Mit der Funktion pcfkeyb.init(8,1); initialisiere ich ja immer nur den pcf8574 mit der Adresse 8 und der 4x4 Matrixtastatur. Wenn ich alle nacheinander initialisiere funzt logischerweise nur der letzte!!! Also habe ich das Modul geändert um alle drei pcf8574 zu initialisieren Das sieht dann so aus pcfkeyb.init(8,9,10,1,1,1); Wobei die ersten drei byte die Adressen sind und die drei letzten die jeweilige Tastaturart in diesem Fall 4x4 Matrix. Das funzt auch, die werden alle richtig initialisiert. Mit der funktion pcfkeyb.getchar(0); wird so lange gewartet bis eine Taste gedrückt wird und diese als Integer zurückgegeben. Dabei prüft die Funktion die "getstate" Funktion in dem Modul pcfkeyb.c2. An der habe ich sehr viel rumgebastelt, denn wenn ich 3x 16 Tasten Abfrage müsste ja im ersten Moment alles mal drei in der Funktion getstate durchgeführt werden. Mit jeder Adresse der drei 8574. allerdings läuft das nur halbwegs. Ich habe sogar die const Char entsprechend verdreifacht und unterschiedliche "Strings" in Hex angegeben. Aber ich bekomme den String richtig zurück und zusätzlich noch irgendwas was mein LCD nicht anzeigen kann. Dieses etwas verwirrt zusätzlich mein Programm. Kann mir jemand sagen oder ein Beispiel posten wie man nun 3x pcf8574 mit dem Modul pcfkeyb.c2 abfragt???????? Vielen Dank | ||
Antwort schreiben Antworten: Re: pcfkeyb.c2 3x 8574 ansteuern (von Ralf Meißner - 30.03.2006 18:35) Re: pcfkeyb.c2 3x 8574 ansteuern (von Borris Koszlat - 31.03.2006 10:59) Re: pcfkeyb.c2 3x 8574 ansteuern (von Borris Koszlat - 1.04.2006 13:26) Re: pcfkeyb.c2 3x 8574 ansteuern (von krassos - 2.04.2006 8:32) Re: pcfkeyb.c2 3x 8574 ansteuern (von Borris Koszlat - 2.04.2006 14:43) |