Pin-Ausgang invertiert darstellen

Gast #1042012
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?
Gast #1042020
>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.
Gast #1042031
>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;
Gast #1042037
>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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.