embeddedlibrary
reusable software modules for embedded systems
int_def.h
1 
27 #ifndef INT_DEF_H
28 #define INT_DEF_H
29 
30 // add compiler int defs
31 #include <stdint.h>
32 
43 typedef union {
44  uint8_t b;
45  struct {
46  uint8_t b0:1;
47  uint8_t b1:1;
48  uint8_t b2:1;
49  uint8_t b3:1;
50  uint8_t b4:1;
51  uint8_t b5:1;
52  uint8_t b6:1;
53  uint8_t b7:1;
54  } bits;
55  struct {
56  uint8_t low:4;
57  uint8_t high:4;
58  } nibble;
59 } union8_t;
60 
71 typedef union {
72  uint16_t word;
73  uint8_t b[2];
74  union8_t ub[2];
75  struct {
76  uint16_t b0:1;
77  uint16_t b1:1;
78  uint16_t b2:1;
79  uint16_t b3:1;
80  uint16_t b4:1;
81  uint16_t b5:1;
82  uint16_t b6:1;
83  uint16_t b7:1;
84  uint16_t b8:1;
85  uint16_t b9:1;
86  uint16_t b10:1;
87  uint16_t b11:1;
88  uint16_t b12:1;
89  uint16_t b13:1;
90  uint16_t b14:1;
91  uint16_t b15:1;
92  } bits;
93 } union16_t;
94 
97 typedef union {
98  uint32_t phrase;
99  uint16_t word[2];
100  uint8_t b[4];
101  union16_t uword[2];
102  union8_t ub[4];
103  float f;
104  struct {
105  uint32_t b0:1;
106  uint32_t b1:1;
107  uint32_t b2:1;
108  uint32_t b3:1;
109  uint32_t b4:1;
110  uint32_t b5:1;
111  uint32_t b6:1;
112  uint32_t b7:1;
113  uint32_t b8:1;
114  uint32_t b9:1;
115  uint32_t b10:1;
116  uint32_t b11:1;
117  uint32_t b12:1;
118  uint32_t b13:1;
119  uint32_t b14:1;
120  uint32_t b15:1;
121  uint32_t b16:1;
122  uint32_t b17:1;
123  uint32_t b18:1;
124  uint32_t b19:1;
125  uint32_t b20:1;
126  uint32_t b21:1;
127  uint32_t b22:1;
128  uint32_t b23:1;
129  uint32_t b24:1;
130  uint32_t b25:1;
131  uint32_t b26:1;
132  uint32_t b27:1;
133  uint32_t b28:1;
134  uint32_t b29:1;
135  uint32_t b30:1;
136  uint32_t b31:1;
137  } bits;
138 } union32_t;
140 #endif /* INT_DEF_H */
141 
Definition: int_def.h:43
uint32_t phrase
32-bit integer member
Definition: int_def.h:98
uint8_t b
byte member
Definition: int_def.h:44
Definition: int_def.h:97
Definition: int_def.h:71