Forum: Mikrocontroller und Digitale Elektronik Tasterproblem


von Max (Gast)


Lesenswert?

Tag zusammen

Hab jetzt vielleicht eine blöde Frage... bei dem relativ einfachen 
Programm tritt immer derselbe Fehler auf: Ich habe 8 Taster die an 8 
PINS des PORTD angeschlossen sind, diese Taster schalten 8 LEDs des 
PORTB ein bzw. aus, dieses Programm funktioniert aber nur solange der 
PIN 0 des PORTD = 1 ist, wenn der PIN 0 = 0 ist, kann mit keinem anderen 
Taster ein bzw. ausgeschalten werden... meine Frage ist daher, wo liegt 
der Fehler bzw. was ist die Fehlerursache???
Programm:
void main(void)
{
unsigned int a;
while (1)
      {
a=PIND & 0x61; // mit Taster 0,6,5 kann ein bzw. ausgeschalten werden
if (a==1)      // PIN 0,6,5 des PORTD
{
PORTB=0xFF;
}
if (a==0)
{
PORTB=0x00;
}
      };
}

Ich sags aber gleich, ich bin ein blutiger Anfänger :)..

Schönen Tag noch
Max

von Rahul, der Trollige (Gast)


Lesenswert?

>if (a==1)
Damit fragst du nur Pin0 ab.
Besser:
if (a>0)

oder sogar if (a)

von Max (Gast)


Lesenswert?

ok da hast du recht... funktioniert jetzt einwandfrei

thanks und schönen Tag noch

Max

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.