macro.h

This header provides a set of general purpose handy macro. In the following, reg denotes a 8 bit signed or unsigned integer, and bit a bit number (0 $ \leq$ bit $ \leq$ 7). macro.h is not part of the ANSI standard.

Macro Role
BIT_1(reg, bit) Set bit bit of reg variable
BIT_0(reg, bit) Reset bit bit of reg variable
BIT_TST(reg,bit) Return true if bit bit of reg is set.
BIT_TOGGLE(reg, bit) Toggle bit bit of reg
BIT_COPY(treg, tbit, sreg, sbit) Copy bit sbit of sreg to bit tbit of treg
BIT_NCOPY(treg, tbit, sreg, sbit) Copy inverse of bit sbit of sreg to bit tbit of treg
BIT_WRITE(treg, tbit, flag) Copy the boolean value flag to bit tbit of treg
NOP Generate a nop asm instruction
CLEAR_WATCHDOG Generate a clrwdt asm instruction

Notice that the bit-oriented macros are made obsolete since V0.7.0 due to the availability of bit fields.



AG 2013-04-10