Hallo,
was bedeutet bzw bewirkt das " ^1" in der interrupt Timerlibrary?
void blinken() {
digitalWrite(ledpin, digitalRead(ledpin) ^ 1);
}
Besten Dank schon mal.
Tschüß
Lokgeist
Hallo,
was bedeutet bzw bewirkt das " ^1" in der interrupt Timerlibrary?
void blinken() {
digitalWrite(ledpin, digitalRead(ledpin) ^ 1);
}
Besten Dank schon mal.
Tschüß
Lokgeist
bitweises XOR. XOR mit 1 invertiert den Wert von 0 nach 1 und umgekehrt. Wobei man hier normalerweise eher die logische Negation mit ! verwendet
Ansonsten bei sowas einfach mal die C/C++ Operatoren nachschlagen:
Hallo Serenifly,
ich habe die Links mal kurz überflogen.
Da muß ich mich aber mal intensiver damit beschäftigen. In mein altes Hirn will das nicht so schnell hinein.
Aber auf jeden Fall vielen vielen Dank für die sehr schnelle Antwort.
Tschüß
der Lokgeist
Ist eigentlich ganz einfach. a ^ b invertiert jedes Bit in a das in b gesetzt ist. Also z.B. 1001 ^ 1111 = 0110
Du machst hier XOR mit 1. Also mit 00000001 Damit wird nur das niederwertigste Bit invertiert.
Weniger verwirrend und öfters anzutreffen ist wie gesagt das:
digitalWrite(ledpin, !digitalRead(ledpin));