知識社群Login
IO register bit manipulation
by 艾鍗學院, 2014-11-09 18:52, Views(1068)


Bit manipulation

#define _BV(bit)   (1 << (bit))
 

IO register bit manipulation

#define bit_is_set(sfr, bit)   (_SFR_BYTE(sfr) & _BV(bit))
 
#define bit_is_clear(sfr, bit)   (!(_SFR_BYTE(sfr) & _BV(bit)))
 
#define loop_until_bit_is_set(sfr, bit)   do { } while (bit_is_clear(sfr, bit))
 
#define loop_until_bit_is_clear(sfr, bit)   do { } while (bit_is_set(sfr, bit))