Forum: Mikrocontroller und Digitale Elektronik GIFR Flag abfragen von INT1


von Zero V. (Firma: Angestellter/Freelancer) (gnd)


Lesenswert?

Hallo,

ich versuche eine fallende Flanke mit INT1 an PIND3 abzufragen.
Ich benutze keinen Interrupt, möchte nur die Flag abfragen
1
MCUCR |= (1<<ISC11);           //falling edge on PIND3 (INT1)
2
3
// warte auf fallende Flanke 
4
5
while( ~(GIFR & (1<<INTF1)))   //  Warte bis Flagge gesetzt
6
{}

Leider funktioniert das praktisch bei mir nicht!
Liegt vielleicht an der Beschaltung.


Frage: Könnte das theoretisch funktionieren oder fehlt noch etwas?
von Stefan E. (sternst)


Lesenswert?

Marvin B. schrieb:
> Frage: Könnte das theoretisch funktionieren

Nein. Die Bedingung im while ist immer true, also ist es eine 
Endlosschleife.
von Zero V. (Firma: Angestellter/Freelancer) (gnd)


Lesenswert?

> Nein. Die Bedingung im while ist immer true, also ist es eine
> Endlosschleife.

Es soll auch solange die Schleife durchlaufen werdem, bis INTF1 Flag 
gesetzt ist.
von Stefan E. (sternst)


Lesenswert?

Marvin B. schrieb:
> Es soll auch solange die Schleife durchlaufen werdem, bis INTF1 Flag
> gesetzt ist.

Aber auch wenn das Flag gesetzt ist, ist die Bedingung true.
von Zero V. (Firma: Angestellter/Freelancer) (gnd)


Lesenswert?

> Aber auch wenn das Flag gesetzt ist, ist die Bedingung true.

??? Warum dann ist ~(1 & 1) = 0 oder nicht ?
von Stefan E. (sternst)


Lesenswert?

Marvin B. schrieb:
> ??? Warum dann ist ~(1 & 1) = 0 oder nicht ?

Nein. Was genau macht der Operator '~'?
von Zero V. (Firma: Angestellter/Freelancer) (gnd)


Lesenswert?

> Nein. Was genau macht der Operator '~'?

Bitweise Negation, stimmt, dann lieber ein ! oder etwa nicht?
von Stefan E. (sternst)


Lesenswert?

Marvin B. schrieb:
> dann lieber ein ! oder etwa nicht?

Bingo ;-)
von Zero V. (Firma: Angestellter/Freelancer) (gnd)


Lesenswert?

Danke, jetzt läuft es!
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.