I have the following type:

```
My_Union_t Data;
typedef union My_Union {
byte Byte;
 struct {
    byte b0:1;
    byte b1:1;                                       
    byte b2:1;
    byte b3:1;
    byte b4:1;
    byte b5:1;
    byte b6:1;
    byte b7:1;
 } Bits;
} My_Union_t;

```

Because, the bit field has no address, I created a function that takes it and returns it. 

Is it the best method to pass a bit field as a parameter ?

```
Bits Invert(Bits Bit)
{
 return (~Bits)
}

void Function(void)
{    
 Data.Bits.b1 = Invert(Data.Bits.b1);     
}

```