-diese Library dient zum ansteuern eines Grafik LC-Displays
vom Typ : EA-eDIP-TFT mit Touch-Controller.
(z.B. das EA-eDIP_TFT-32)
-Der Treiber ist fuer das SPI-Interface : “SPI-Mode=0, DORD=0″ ausgelegt
und das Display muss dementsprechend verdrahtet werden
(siehe Datenblatt vom Display)
-Das eDIP-Display kann “standalone” programmiert und benutzt werden
(Touch-Buttons auswerten, Texte und Bilder zeichnen)
-In diesem Treiber ist eine Funktion vorhanden um auf Touch-Buttons
(die nicht vom Display selbst verwaltet werden sollen)
zu reagieren
-Mit diesem Treiber koennen auch alle Funktionen fuer das Display
per CPU gesteuert werden
(z.B. um Makros zu starten usw)
-als Vorlage sind dazu zwei Beispiele im Treiber vorhanden
-das Display ist an den SPI-Bus angeschlossen,
aus dem Grund wird auch der SPI-Treiber
“MK3_2560_SPI.h” benötigt
Funktionen :
1 2 3 4 5 | void EXT_LCD_INIT_EA_EDIP(void); // init vom LC-Display bool LCD_EA_EDIP_CHECK(void); // test ob Display vorhanden int LCD_EA_EDIP_READ_TOUCH(void); // Touch auslesen void LCD_EA_EDIP_CMD_01(unsigned char nr); // Beispiel Kommando 01 void LCD_EA_EDIP_CMD_02(void); // Beispiel Kommando 02 |
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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | //----------------------------------------------------------------------------- // Title : bsp_ub064_mk3_ea_dip //----------------------------------------------------------------------------- // Funktion : EA-eDIP-Display (eDIP-TFT-32) // Schaltung : myAVR MK3 //----------------------------------------------------------------------------- // Prozessor : ATMega2560 // Takt : 16 MHz // Sprache : C // Date : 27.11.2012 // Version : 1.0 // Autor : UB //----------------------------------------------------------------------------- #define F_CPU 16000000 #include <avr/io.h> #include <ub_ext_module/EXT_LCD_EA_eDIP_TFT.h> #include <ub_mk3_2560/MK3_2560_LED.h> #include <ub_mk3_2560/MK3_2560_KEY.h> //----------------------------------------------------------------------------- // Hinweis : Display muss laut Datenblatt angeschlossen sein // (auf dem Display muss das Beispiel Nr. 64 programmiert sein) // QuickJumper : Port-L und Port-K muss geschlossen sein // Es wird an den LEDs der Touchcode der Display-Buttons angezeigt // (oder 0x55 wenn kein Display gefunden wurde) // Mit Key1 wird das Display Makro Nr.1 gestartet // Mit Key2 wird das Display Makro Nr.2 gestartet //----------------------------------------------------------------------------- int main (void) { int check; unsigned char wert; // Display initialisieren EXT_LCD_INIT_EA_EDIP(); // LEDs initialisieren MK3_INIT_LED(); // alle LEDs AUS MK3_LED_ZAHL(0x00); // Tasten initialisieren MK3_INIT_KEY(); wert=0; while (true) { // Touch vom Display abfragen check=LCD_EA_EDIP_READ_TOUCH(); if(check<0) { // Fehler !! (event. kein Display vorhanden) MK3_LED_ZAHL(0x55); } else if(check>0) { // empfangenen Touchcode an den LEDs anzeigen wert=check; MK3_LED_ZAHL(wert); } if(MK3_KEY_SET(BUTTON1)==true) { // wenn Button 1 gedrueckt wurde // Makro NR 1 am Display starten LCD_EA_EDIP_CMD_01(1); } if(MK3_KEY_SET(BUTTON2)==true) { // wenn Button 2 gedrueckt wurde // Makro NR 2 am Display starten LCD_EA_EDIP_CMD_01(2); } } return 0; } |
Hier die Library zum download :