miniModule C167 Tastendruck auslesen

Gast #2719940
Lesenswert?

Hallo,

ich bin (noch immer) dabei einen Tastendruck auszulesen. Ich habe eine 
Taste am Port P2_10 angeschlossen und wollte mit folgendem Programm den 
Tastendruck auslesen:
1
#include <reg167.h>                                   
2
#include <stdio.h>  
3

4
sbit P2_9 = P2^9;                      
5
sbit DP2_9 = DP2^9;                    
6

7
sbit P2_10 = P2^10;            
8
sbit DP2_10 = DP2^10;         
9

10
void wait (void)  {                   
11
  ;                                   
12
}
13

14

15

16
void main (void)  {
17

18
  unsigned long i;                   
19

20
  DP2_9 = 1;                         
21
  DP2_10 = 0;               
22

23
  /*****************/
24

25
  P3  |= 0x0400;                      
26
  DP3 |= 0x0400;                      
27
                                      
28
  DP3 &= 0xF7FF;                      
29
                                      
30
  S0TIC = 0x80;                        
31
  S0RIC = 0x00;                       
32
  S0BG  = 0x40;                       
33
  S0CON = 0x8011;                     
34

35
  putchar(' ');                       
36

37
  printf ("Hello World vom Controller %d \n: ", P2_10);        
38
                                              
39
  /*****************/
40

41

42
  while (1) {                        
43

44
    P2_9 = 0;                        
45
    for (i=0; i<20000; i++) {         
46
      wait ();                         
47
    }
48

49
    P2_9 = 1;                          
50
    for (i=0; i<20000; i++) {         
51
      wait ();                         
52
    }
53

54
  // Key pressed
55

56
  
57

58
  switch  (P2 & 0x0A) {         
59
    case 0x1:   printf("Taster 0x1");
60
          break;
61
    case 0x0:   printf("Taster 0x0");
62
          break; 
63
      default:  printf("default!!!!"); 
64
        
65
    }
66
  }
67
}
Leider funktioniert das nicht. Es kommt am Hyperterminal immer 
default!!!! an egal ob ich die Taste drücke oder nicht. Ich bin mir 
nicht sicher ob ich das mit dem Switch so machen kann?
Weiß jemand was ich da falsch mache? Ich arbeite mit einem miniModul 
C167.
Besten Dank

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren