Variable invertieren

Gast #1643179
Lesenswert?

Hallo

brauch schnell mal Hilfe mit dem C- Syntax:
Ich habe drei Taster, die über einen externen Interrupt drei LEDs 
steuern.
Nun möchte ich, dass beim ersten Mal Drücken des Tasters die ledFlag auf 
1 geht und beim erneuten Drücken des Tasters wieder auf 0. Im Prinzip 
ein simples invertieren.
Welchen Datentyp bzw. Operator nehme ich da am besten?

lemmi
Gast #1645412
Lesenswert?

> Warum? Für für so was simples kann man die Port-Pins auch direkt
> schalten. Warum eine Hilfsvariable?
My50cent: Ich halte es nicht für verkehrt, einen Portzustand in eine 
Variable einzulesen und dann von dort weiterzuarbeiten. Mag bei kleinen 
Programmen nicht notwendig, überflüssig und oversized sein, aber wenn's 
mal komplexer wird, könnten sonst Seiteneffekte auftreten, die real gar 
nicht vorhanden.
Zumindest ging's mal dem Stift so, der beim Messen zwei Pins 
unbeabsichtigt durch die Messspitze kurzgeschlossen hatte (lowaktiver 
Tastereingang neben lowaktivem Ausgang für LED). Er hatte gemessen, 
nachdem die LED aktiv wurde. Anstatt den Taster zwischenzuspeichern, 
hat er ihn überall neu eingelesen, obwohls gar nicht nötig war und sich 
dann einen Wolf für einen Pseudofehler gesucht (okay, zugegeben, ein 
Reset + zweiter Messlauf hätte ihm auch nicht geschadet :))

Ralf
Gast #1645422
Lesenswert?

Andreas Kanzler schrieb:

> Rolf Magnus schrieb:
>> lemmi187 schrieb:
>>> Welchen Datentyp bzw. Operator nehme ich da am besten?
>>
>> bool aus <stdbool.h>
>
> 1. Nur bei C99!

Ja, und?  Kann GCC doch.

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