miniModule C167 Tastendruck auslesen

Gast #2719940
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

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.