]> git.llucax.com Git - z.facultad/66.09/etherled.git/blob - src/types.h
Primer intento de integración y creación del proyecto.
[z.facultad/66.09/etherled.git] / src / types.h
1 #ifndef _TYPES_H_
2 #define _TYPES_H_
3
4 #if 0 /* i386 */
5 #include <stdint.h>
6
7 /** booleano */
8 typedef unsigned char bool;
9
10 /** entero sin signo de 8 bits */
11 typedef uint8_t byte;
12
13 /** entero sin signo de 16 bits */
14 typedef uint16_t uint16;
15
16 #endif
17
18 #if 1 /* 8051 */
19
20 /** entero sin signo de 8 bits */
21 typedef unsigned char byte;
22
23 /** entero sin signo de 16 bits */
24 typedef unsigned int uint16;
25
26 #ifdef SDCC
27 /** booleano */
28 typedef byte bool;
29 #else
30 /** booleano */
31 typedef bit bool;
32 #endif
33
34 #endif
35
36 /** valores posibles de un booleano */
37 enum { false = 0, true = 1 };
38
39 /** convierte 2 bytes (high, low) en un word */
40 #define WORD(high, low) ((uint16)((uint16)(high << 8) + (uint16)low))
41
42 /** convierte un word en 2 bytes */
43 #define UNPACK(word, high, low) (high = (byte)(word >> 8), \
44                                   low = (byte)word & 0xFF)
45
46 /** obtiene parte alta de un word */
47 #define HIGH(word) ((byte)(word >> 8))
48
49 /** obtiene parte baja de un word */
50 #define LOW(word) ((byte)(word & 0xFF))
51
52 #endif /* _TYPES_H_ */