-diese Library dient zum auswerten einer Matrix-Tastatur
von einem externen Modul das an die CPU angeschlossen ist.
-die Anzahl der Spalten/Zeilen der Matrix
und die Anschlussbelegung an der CPU muss im Treiber
eingestellt werden
-Minimal Tasten Matrix = 1×1 = 1 Taste
-Maximal Tasten Matrix = 8×8 = 64 Tasten
Funktionen :
1 2 | void EXT_INIT_KEY_MATRIX(void); // zum initialisieren der Tastatur Matrix unsigned char EXT_KEY_MATRIX_READ(void); // zum auslesen der Tastatur Matrix |
Beispiel :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | //----------------------------------------------------------------------------- // Title : bsp_ub065_mk3_key_matrix //----------------------------------------------------------------------------- // Funktion : Externe Matrix-Tastatur // Schaltung : myAVR MK3 //----------------------------------------------------------------------------- // Prozessor : ATMega2560 // Takt : 16 MHz // Sprache : C // Date : 05.12.2012 // Version : 1.0 // Autor : UB //----------------------------------------------------------------------------- #define F_CPU 16000000 #include <avr/io.h> #include <ub_ext_module/EXT_MOD_KEY_MATRIX.h> #include <ub_mk3_2560/MK3_2560_LED.h> //----------------------------------------------------------------------------- // Hinweis : Eine externe Matrix-Tastatur muss angeschlossen sein // QuickJumper : Port-L muss geschlossen sein // An den LEDs wird die Tasten-Nummer der gedreuckten Taste angezeigt // (oder 0 wenn keine Taste gedrueckt ist) //----------------------------------------------------------------------------- int main (void) { unsigned char wert; // Matrix-Tastatur initialisieren EXT_INIT_KEY_MATRIX(); // LEDs initialisieren MK3_INIT_LED(); // alle LEDs AUS MK3_LED_ZAHL(0x00); wert=0; while (true) { // Matrix-Tastatur abfragen wert=EXT_KEY_MATRIX_READ(); if(wert>0) { // eine Taste ist gedrueckt MK3_LED_ZAHL(wert); } else { // es ist keine Taste gedrueckt MK3_LED_ZAHL(0); // alle LEDs AUS } } return 0; } |
Hier die Library zum download :