Committer:
suupen
Date:
Sun Apr 08 03:46:12 2012 +0000
Revision:
0:a53877d0ea3d

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
suupen 0:a53877d0ea3d 1 /*----------------------------------------------------------------------------*/
suupen 0:a53877d0ea3d 2 /* File Information */
suupen 0:a53877d0ea3d 3 /*----------------------------------------------------------------------------*/
suupen 0:a53877d0ea3d 4 /* Name : types.h */
suupen 0:a53877d0ea3d 5 /* Type : C Programming Language Header */
suupen 0:a53877d0ea3d 6 /*----------------------------------------------------------------------------*/
suupen 0:a53877d0ea3d 7 /*----------------------------------------------------------------------------*/
suupen 0:a53877d0ea3d 8
suupen 0:a53877d0ea3d 9 #ifndef __TYPES_H__
suupen 0:a53877d0ea3d 10 #define __TYPES_H__
suupen 0:a53877d0ea3d 11
suupen 0:a53877d0ea3d 12 #include "stdint.h"
suupen 0:a53877d0ea3d 13 /*
suupen 0:a53877d0ea3d 14 typedef char int8_t;
suupen 0:a53877d0ea3d 15 typedef unsigned char uint8_t;
suupen 0:a53877d0ea3d 16 typedef signed short int16_t;
suupen 0:a53877d0ea3d 17 typedef unsigned short uint16_t;
suupen 0:a53877d0ea3d 18 typedef signed int int32_t;
suupen 0:a53877d0ea3d 19 typedef unsigned int uint32_t;
suupen 0:a53877d0ea3d 20 typedef signed long long int64_t;
suupen 0:a53877d0ea3d 21 typedef unsigned long long uint64_t;
suupen 0:a53877d0ea3d 22 */
suupen 0:a53877d0ea3d 23 //typedef bool bool_t;
suupen 0:a53877d0ea3d 24 typedef enum{TRUE, FALSE} bool_t;
suupen 0:a53877d0ea3d 25
suupen 0:a53877d0ea3d 26 //=========================================================================
suupen 0:a53877d0ea3d 27 // byte bit access
suupen 0:a53877d0ea3d 28 //=========================================================================
suupen 0:a53877d0ea3d 29 typedef union{ // BYTE�^(BYTE/NIBBLE/BIT access)
suupen 0:a53877d0ea3d 30 uint8_t byte; // Byte access
suupen 0:a53877d0ea3d 31 struct{ // Nibble����
suupen 0:a53877d0ea3d 32 uint8_t lo : 4; // lower(Bit0 - 3)
suupen 0:a53877d0ea3d 33 uint8_t hi : 4; // upper(Bit4 - 7)
suupen 0:a53877d0ea3d 34 }nibble;
suupen 0:a53877d0ea3d 35 struct{ // Bit access
suupen 0:a53877d0ea3d 36 uint8_t b0 : 1; // Bit0
suupen 0:a53877d0ea3d 37 uint8_t b1 : 1; // Bit1
suupen 0:a53877d0ea3d 38 uint8_t b2 : 1; // Bit2
suupen 0:a53877d0ea3d 39 uint8_t b3 : 1; // Bit3
suupen 0:a53877d0ea3d 40 uint8_t b4 : 1; // Bit4
suupen 0:a53877d0ea3d 41 uint8_t b5 : 1; // Bit5
suupen 0:a53877d0ea3d 42 uint8_t b6 : 1; // Bit6
suupen 0:a53877d0ea3d 43 uint8_t b7 : 1; // Bit7
suupen 0:a53877d0ea3d 44 }bits;
suupen 0:a53877d0ea3d 45 }byte_t;
suupen 0:a53877d0ea3d 46
suupen 0:a53877d0ea3d 47 //=========================================================================
suupen 0:a53877d0ea3d 48 // word bit access
suupen 0:a53877d0ea3d 49 //=========================================================================
suupen 0:a53877d0ea3d 50 typedef union{ // WORD�^(WORD/BYTE/NIBBLE/BIT access)
suupen 0:a53877d0ea3d 51 uint16_t word; // Word access
suupen 0:a53877d0ea3d 52 struct{ // Byte access
suupen 0:a53877d0ea3d 53 uint8_t b0; // upper byte
suupen 0:a53877d0ea3d 54 uint8_t b1; // lower byte
suupen 0:a53877d0ea3d 55 }byte;
suupen 0:a53877d0ea3d 56 struct { // Nibble access
suupen 0:a53877d0ea3d 57 uint8_t n0 : 4; // lower byte low(Bit 0 - 3)
suupen 0:a53877d0ea3d 58 uint8_t n1 : 4; // lower byte up (Bit 4 - 7)
suupen 0:a53877d0ea3d 59 uint8_t n2 : 4; // upper byte low(Bit 8 - 11)
suupen 0:a53877d0ea3d 60 uint8_t n3 : 4; // upper byte up (Bit12 - 15)
suupen 0:a53877d0ea3d 61 }nibble;
suupen 0:a53877d0ea3d 62 struct{ // Bit acces
suupen 0:a53877d0ea3d 63 uint8_t b0 : 1; // Bit0
suupen 0:a53877d0ea3d 64 uint8_t b1 : 1; // Bit1
suupen 0:a53877d0ea3d 65 uint8_t b2 : 1; // Bit2
suupen 0:a53877d0ea3d 66 uint8_t b3 : 1; // Bit3
suupen 0:a53877d0ea3d 67 uint8_t b4 : 1; // Bit4
suupen 0:a53877d0ea3d 68 uint8_t b5 : 1; // Bit5
suupen 0:a53877d0ea3d 69 uint8_t b6 : 1; // Bit6
suupen 0:a53877d0ea3d 70 uint8_t b7 : 1; // Bit7
suupen 0:a53877d0ea3d 71 uint8_t b8 : 1; // Bit8
suupen 0:a53877d0ea3d 72 uint8_t b9 : 1; // Bit9
suupen 0:a53877d0ea3d 73 uint8_t b10: 1; // Bit10
suupen 0:a53877d0ea3d 74 uint8_t b11: 1; // Bit11
suupen 0:a53877d0ea3d 75 uint8_t b12: 1; // Bit12
suupen 0:a53877d0ea3d 76 uint8_t b13: 1; // Bit13
suupen 0:a53877d0ea3d 77 uint8_t b14: 1; // Bit14
suupen 0:a53877d0ea3d 78 uint8_t b15: 1; // Bit15
suupen 0:a53877d0ea3d 79 }bits;
suupen 0:a53877d0ea3d 80 }word_t;
suupen 0:a53877d0ea3d 81
suupen 0:a53877d0ea3d 82
suupen 0:a53877d0ea3d 83 //=========================================================================
suupen 0:a53877d0ea3d 84 // ascii code
suupen 0:a53877d0ea3d 85 //=========================================================================
suupen 0:a53877d0ea3d 86 #define Z_NUL (0x00)
suupen 0:a53877d0ea3d 87 #define Z_SOH (0x01)
suupen 0:a53877d0ea3d 88 #define Z_STX (0x02)
suupen 0:a53877d0ea3d 89 #define Z_ETX (0x03)
suupen 0:a53877d0ea3d 90 #define Z_EOT (0x04)
suupen 0:a53877d0ea3d 91 #define Z_ENQ (0x05)
suupen 0:a53877d0ea3d 92 #define Z_ACK (0x06)
suupen 0:a53877d0ea3d 93 #define Z_BEL (0x07)
suupen 0:a53877d0ea3d 94
suupen 0:a53877d0ea3d 95 #define Z_BS (0x08)
suupen 0:a53877d0ea3d 96 #define Z_HT (0x09)
suupen 0:a53877d0ea3d 97 #define Z_LF (0x0A)
suupen 0:a53877d0ea3d 98 #define Z_HM (0x0B)
suupen 0:a53877d0ea3d 99 #define Z_FF (0x0C)
suupen 0:a53877d0ea3d 100 #define Z_CR (0x0D)
suupen 0:a53877d0ea3d 101 #define Z_SO (0x0E)
suupen 0:a53877d0ea3d 102 #define Z_SI (0x0F)
suupen 0:a53877d0ea3d 103
suupen 0:a53877d0ea3d 104 #define Z_DLE (0x10)
suupen 0:a53877d0ea3d 105 #define Z_DC1 (0x11)
suupen 0:a53877d0ea3d 106 #define Z_DC2 (0x12)
suupen 0:a53877d0ea3d 107 #define Z_DC3 (0x13)
suupen 0:a53877d0ea3d 108 #define Z_DC4 (0x14)
suupen 0:a53877d0ea3d 109 #define Z_NAK (0x15)
suupen 0:a53877d0ea3d 110 #define Z_SYN (0x16)
suupen 0:a53877d0ea3d 111 #define Z_ETB (0x17)
suupen 0:a53877d0ea3d 112
suupen 0:a53877d0ea3d 113
suupen 0:a53877d0ea3d 114 #endif /* __TYPES_H__*/