Forum: Mikrocontroller und Digitale Elektronik Anfänger Programm


von Kilian (Gast)


Lesenswert?

Hallo,

ich habe mich eigentlich genug eingelesen und ich kann  auch schon C 
Anwendungen für den Desktop schreiben, jedoch habe ich jetzt ein 
Problem.

Mein Programm ist folgendes:
1
#include <avr/io.h>
2
int main (void)
3
{
4
  DDRD = 0; 
5
  PORTD = 255;
6
  
7
  DDRC = 255;
8
  
9
  while(1)
10
  {    
11
    if((PIND & (1 << 1)))
12
    {
13
      PORTC &= (1 << 5);
14
    }
15
    else
16
    {
17
      PORTC |= (1 << 5);
18
    }    
19
  }
20
}

Wenn ich das Programm auf den µC spiele, dann Leuchte meine LED an 
PortC.5. Jedoch sobald ich einmal den Taster an PortD.1 betätige, bleibt 
die LED immer aus. Also bis zum nächsten Reset.

Könnt Ihr mir das erklären?
Danke

von Ch. K. (Gast)


Lesenswert?

fehlt ne welle
1
PORTC &= ~(1 << 5);

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.