Forum: Compiler & IDEs Pin-Ausgang invertiert darstellen


von Dee (Gast)


Lesenswert?

Hallo,

ich habe mal eine etwas blöde Frage. Ich stehe gerade vor folgendem 
Problem:

Ich liefere an einen Pin-Ausgang ein Signal, welches Low-Aktiv ist. Dies 
sieht in meinem C-Code wie folgt aus.

#define Signal p8_0

Wenn das Signal nun aktiv schalten möchten, muss ich es immer auf Null 
setzten: So z.B.


// Wenn Signal aktiv...
Signal = 0;

Ich hätte jetzt aber gerne der Lesbarkeit wegen, dass ich das Signal auf 
"1" setzen kann im aktiven Zustand. Habe folgendes ausprobiert dies 
funktionierte jedoch nicht.

#define Signal !p8_0
// Wenn Signal aktiv...
Signal = 1;


Gibt es da eine Lösung zu?

von Stefan Salewski (Gast)


Lesenswert?

>ich habe mal eine etwas blöde Frage.

Warum betonen das immer alle -- das sieht man doch auch so.

Mach Dir ein Makro, dann rufst Du einfach das Makro auf, etwa 
"SwitchPinOn()" oder wie auch immer. Für die bessere Lesbarkeit hat man 
Macros u.a. erfunden.

von Dee (Gast)


Lesenswert?

Und wie soll ich in dem Makro dann meinen Pin invertieren. Das ist ja 
mein Problem.

Hast du vielleicht ein Beispiel?

von Stefan Salewski (Gast)


Lesenswert?

>Mach Dir ein Makro,

Eine benannte Konstante geht auch, etwa

#define Pin_On 0
#define Pin_Off 1

Statt
// Wenn Signal aktiv...
//Signal = 0;

Dann

Signal = Pin_On;

von Stefan Salewski (Gast)


Lesenswert?

>Hast du vielleicht ein Beispiel?

Im Prinzip einfache Textersetzung, lies mal nach wie man in C Makros 
definiert bzw. einsetzt, dann wird es Dir sicher klar.

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.