1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
#include<stdio.h>
typedef unsigned char u8;
typedef struct
{
unsigned int val0 : 3;
unsigned int val1 : 3;
unsigned int val2 : 3;
unsigned int val3 : 3;
unsigned int val4 : 3;
unsigned int val5 : 3;
unsigned int val6 : 3;
unsigned int val7 : 3;
unsigned int val8 : 3;
unsigned int val9 : 3;
unsigned int val10 : 3;
unsigned int val11 : 3;
unsigned int val12 : 3;
unsigned int val13 : 3;
unsigned int val14 : 3;
unsigned int val15 : 3;
} bitField;
typedef union
{
bitField accesBit;
u8 accessByte[6];
} madataType;
u8 func(u8 id)
{
return (id%8);
}
void main()
{
madataType madata;
madata.accesBit.val0 = func(0);
madata.accesBit.val1 = func(1);
madata.accesBit.val2 = func(2);
madata.accesBit.val3 = func(3);
madata.accesBit.val4 = func(4);
madata.accesBit.val5 = func(5);
madata.accesBit.val6 = func(6);
madata.accesBit.val7 = func(7);
madata.accesBit.val8 = func(8);
madata.accesBit.val9 = func(9);
madata.accesBit.val10 = func(10);
madata.accesBit.val11 = func(11);
madata.accesBit.val12 = func(12);
madata.accesBit.val13 = func(13);
madata.accesBit.val14 = func(14);
madata.accesBit.val15 = func(15);
} |