36-PS2_Maus-Library (ATMega)

-diese Library dient zum einbinden einer PS2-Maus an die CPU

-die Bewegungsdaten der Maus, die Buttons und das Mausrad werden
in einer Globalen-Struktur gespeichert

Funktionen :

1
2
3
4
void MK3_INIT_PS2MAUS(void);                     // Init von der PS2-Maus
Maus_ID_t MK3_PS2MAUS_START(Maus_Speed_t speed); // aktiviert die PS2-Maus
bool MK3_PS2MAUS_READ(void);                     // Auslesen der Maus-Bewegungsdaten
bool MK3_PS2MAUS_RESET(void);                    // setzt die PS2-Maus zurueck

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
//-----------------------------------------------------------------------------
// Title      : bsp_ub060_mk3_ps2maus
//-----------------------------------------------------------------------------
// Funktion   : PS2-Maus
// Schaltung  : myAVR MK3
//-----------------------------------------------------------------------------
// Prozessor  : ATMega2560
// Takt       : 16 MHz
// Sprache    : C
// Date       : 19.11.2012
// Version    : 1.0
// Autor      : UB
//-----------------------------------------------------------------------------
#define F_CPU 16000000
#include <avr/io.h>
#include <ub_mk3_2560/MK3_2560_LCD.h>
#include <ub_mk3_2560/MK3_2560_PS2_MAUS.h>
 
//-----------------------------------------------------------------------------
// Hinweis : Quick-Jumper Port-C+A muss gesetzt sein
// PS2-Maus :
//   Clk an Port-D0
//   Data an Port-D1
//
// Die X,Y-Mausposition wird auf dem
// Display angezeigt
//-----------------------------------------------------------------------------
int main (void)
{
  Maus_ID_t check;
  unsigned int wert;
 
  MK3_INIT_LCD(); // init vom LCD
  MK3_LCD_CLEAR();
  MK3_LCD_LIGHT(true);
 
  MK3_LCD_STRING_AT(0,0,"PS2-Maus");
  MK3_INIT_PS2MAUS(); // init der PS2-Maus
 
  // PS2-Maus einschalten
  check=MK3_PS2MAUS_START(MAUS_SPEED_40);
  if(check==MAUS_ID_UNDEF)   MK3_LCD_STRING_AT(0,16,"Maus-ID = ?");
  if(check==MAUS_ID_NORMAL)  MK3_LCD_STRING_AT(0,16,"Maus-ID = normal");
  if(check==MAUS_ID_INTELLI) MK3_LCD_STRING_AT(0,16,"Maus-ID = Intelli");
 
  while (true)
  {
    if(PS2MAUS.aktiv==true) {
      // wenn Maus gefunden und aktiv
      if(MK3_PS2MAUS_READ()==true) {
        // wenn neue Mausdaten
        MK3_LCD_STRING_AT(0,32,"X-Pos:");
        wert=PS2MAUS.xpos;
        MK3_LCD_PRINT_UTYP(wert,DEZ_U5);
        MK3_LCD_STRING_AT(0,40,"Y-Pos:");
        wert=PS2MAUS.ypos;
        MK3_LCD_PRINT_UTYP(wert,DEZ_U5);
      }
    }
  }
  return 0;
}

Hier die Library zum download :

UB_MK3_2560_PS2_MAUS_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