Hallo Forenuser Kann das funktionieren? #define togglebit(ADDRESS,BIT) (ADDRESS ^= (1<<BIT)) tex
Gast
#365253
Ja
Gast
#365254
Ja.
Gast
#365255
ja
Gast
#365256
ist aber nicht interruptsicher, aber du fragst ja auch nur KANN das funktionieren.
Hi tex, besser, Du klammerst es: #define togglebit(ADDRESS,BIT) ((ADDRESS) ^= (1<<(BIT))) In Deinem Fall kann zwar <relativ> wenig passieren, weil die Priorität der Operatoren ^= und << sehr niedrig ist. Aber stell Dir diesen Fall vor: #define SQUARE(x) x * x und dann einen Aufruf mit: b = SQUARE (a+1) Wenn das Makro expandiert wird, entsteht folgendes: b = a + 1 * a + 1 Das Ergebnis ist in diesem Fall falsch, deshalb immer klammern: #define SQUARE(x) ((x) * (x)) Grüße, Stefan Kleinwort