Forum: Mikrocontroller und Digitale Elektronik Prellung der Taste


von Claude (Gast)


Lesenswert?

Hi alle,

Ich habe folgendes Programm geschrieben aber es reagiert nicht nach der 
Compilation könnte jemannd mir helfen  ?? Beim Drucken der Taste an Pin 
O vom PortD sollte der uC zählen und dieser Anzahl des Drucken an PortB 
bzw. über LEDs anzeigen. Hier ist nochmal mein C Code.

Danke
Claude
•
1
#include <avr/io.h>
2
3
typedef unsigned char  BYTE;
4
5
6
int main(void)
7
{ 
8
  DDRD = 0x00;
9
  DDRB = 0xff;
10
  PORTD = (1<<PD0);
11
  //PORTB = 0x01;
12
  BYTE  Bit0portD = 1;   // Variable für Pin0 des PortD
13
  BYTE   ZahlerTastdruck = 0;  // Zähler der Tasterdruck
14
  
15
  
16
  
17
    while(1)
18
    {
19
        if (!(PIND & 0x01))    //  überprüft ob Taste gedrucht ist
20
    {    if(Bit0portD==1)  //  vorheriger Zustand von Pin0 prüfen
21
       {  PORTB = ZahlerTastdruck;   // Neuer Zählstand anzeigen
22
           ZahlerTastdruck++;          // Zähler inkrementieren
23
         Bit0portD = 0;              // Zustand von Pin0 speichern
24
       }       
25
       
26
      } else 
27
       Bit0portD = 1;
28
       
29
  }    
30
}

von Karl H. (kbuchegg)


Lesenswert?

Du hast zwar ein mögliches Prellproblem, aber im Prinzip müsste das 
zumindest soweit funktionieren, das du was siehst. Das du erst beim 
2.ten mal niederdrücken das erste mal was siehst, ist dir klar?

von Claude (Gast)


Lesenswert?

Hi,
Die Sache hat sich erledigt
Danke
Claude

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.