Problem bei der Abfrage von Ausgängen

Gast #864956
Lesenswert?

Hallo,

ich komme einfach nicht weiter. An einem mega8 habe ich an PortC über je 
eine Vorwiderstand eine LED mit VCC verbunden. Über die Makro (z.B. 
LED_STATUS_ON) kann ich diese auch ein- und ausschalten und über das 
Makro isStatusLedOn auf den Zustand abfragen. Die StatusLED und die 
grüne LED blinken gemeinsam.

So weit - So gut. Nur wenn ich über das Makro isGREENLedOn klappt nicht 
- die rote LED bleibt aus und damit auch alle restlichen.

Kann mir jemand weiterhelfen?
Angehängte Dateien:
Gast #864964
Lesenswert?

1
#define isStatusLedOn   ((PORTC & (1 << LED_STATUS)) == LED_STATUS)

Kann nicht funktionieren. Müsste vielmehr so heißen:
1
#define isStatusLedOn   ((PORTC & (1 << LED_STATUS)) == (1 << LED_STATUS))
2
/* oder */
3
#define isStatusLedOn   (  (PORTC & _BV(LED_STATUS)) == _BV(LED_STATUS)  )

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren