 |
poke_bchg |
Function (Macro) |
Inverts a bit at a memory address.
This macro inverts bit bit at memory address addr.
It is useful if you do not want to store a whole byte at this address, but only
need to invert the state of a single bit.
As usual, the rightmost bit of a value is numbered 0, and the leftmost bit is
7 in this case.
For example, let's assume the address addr contains the value 0b10011010,
and you call this macro like this:
poke_bchg (addr, 3);
Then the value will be 0b10010010 afterwards. Making the same call again will
restore the previous value 0b10011010,
Note: Do not use poke_bchg for sending bits to I/O ports! Use pokeIO_bchg
instead.