Forum: Mikrocontroller und Digitale Elektronik LED mit Taster EIN/AUS


von Michael (Gast)


Lesenswert?

Hallo Leute!

habe gerade mein erstes uC Programm auf einenen Atmega32 geflashed.
Nun will ich mit einem Taster eine LED einschalten. dh. solange der 
gedrückt wird, sollte das LED leuchten. Mein Eingang ist auf Masse, wenn 
Tater gedrückt wird liegen 5V an. Wenn ich die Taste drücke geht das 
Licht zwar ein aber nicht mehr aus... Die bit_is_clear funktion sagt ja, 
wenn null wollt anliegen dann 0 und wenn 5V anliegen dann 1. ??

Danke für die Hilfe!
1
#include <avr/io.h>
2
3
int main(void)
4
{  
5
  DDRD |= 1 << PIND6; 
6
  DDRD |= 0<< PIND2;   
7
  
8
while(1)
9
  {
10
    PORTD |= 0 << PIND2;
11
    
12
    if (bit_is_clear(PIND,2))
13
    
14
    {
15
      PORTD |= (0<<PIND6);
16
    }
17
    else
18
    {
19
      PORTD |= (1<<PIND6);
20
    }    
21
  }    
22
}

von Thomas W. (thomas100)


Lesenswert?

Du musst das Bit löschen:
1
PORTD &= ~(1<<PIND6);

Ein "Oder" mit Null bringt dir nichts.

Gruß
Thomas

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.