die Timerlibrary "TimerOne"

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

https://de.wikipedia.org/wiki/Kontravalenz https://de.wikipedia.org/wiki/XOR-Gatter

Ansonsten bei sowas einfach mal die C/C++ Operatoren nachschlagen: https://www.arduino.cc/en/Reference/BitwiseAnd http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/006_c_operatoren_005.htm#mj47da0e8682ea7d892f3113146cd64cb1

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));