Forum: Mikrocontroller und Digitale Elektronik Mehrere Eingänge abfragen


von Herbert (Gast)


Lesenswert?

Hallo!

Ich habe eine eigentlich ganz Simple Frage, undzwar ich möchte mit 
meinem AtMega8 gerne 3 Eingänge gleichzeitig abfragen undzwar ob PD0 und 
PD1 auf high und PD2 auf low ist.

Nun das Abfragen der Gesamten D0-D7 is klar, und auch für nur einen 
Eingang, aber wie kann ich in einer Abfrage low und high Abfragen?

Danke schonmal

MfG
Herbert

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Herbert schrieb:
> Hallo!
>
> Ich habe eine eigentlich ganz Simple Frage, undzwar ich möchte mit
> meinem AtMega8 gerne 3 Eingänge gleichzeitig abfragen undzwar ob PD0 und
> PD1 auf high und PD2 auf low ist.

if ((PIND & 0x07) == 0x03)
{
   ....
}

Oder allgemeiner:

#define INPUT0 (1<<0)
#define INPUT1 (1<<1)
#define INPUT2 (1<<2)

if ((PIND & (INPUT0 | INPUT1 | INPUT2)) == (INPUT0 | INPUT1))
{
   ...
}
Gruß,

Frank

von Herbert (Gast)


Lesenswert?

Frank M. schrieb:
> if ((PIND & 0x07) == 0x03)
> {
>    ....
> }
>
> Gruß,
>
> Frank

Danke!

So einfach -.-
Anscheinend bin ich zu doof ;)
Dankesehr

Gruß
Herbert

von Magnetus (Gast)


Lesenswert?

Herbert schrieb:
> undzwar ob PD0 und PD1 auf high und PD2 auf low ist.
1
if ((PIND&7)==3)
2
{
3
   tu_was(sinnvolles);
4
}

Gruß,
Magnetus

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.