40-LCD_eDIP-Library (ATMega)

-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 :

UB_EXT_LCD_EA_eDIP_TFT_v100


Wie hat Dir dieser Artikel gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Noch keine Bewertungen)
Loading...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert