#define set_bit(x,bit) ((x) |= 1<<(bit))
#define clr_bit(x,bit) ((x) &=~ (1<<(bit)))
#define tst_bit(x,bit) ((x)&(1<<(bit)))
#define get_bit(val,x1,x2) (((val>>(x1)&((1<<((x2) - (x1) + 1))-1))
uint8_t get_1byte_bit1_number(uint8_t data, uint8_t pos)
{
uint8_t i;
uint8_t k = 0;
for(i = 0; i < pos; i++)
{
if(0x01 == (0x01 & data))
{
k++;
}
data >>=0x01;
}
return k;
}