typedef.h

来自「四车窗升降 pic16f914 .有各种保护」· C头文件 代码 · 共 92 行

H
92
字号
#ifndef _TYPEDEF_H_
#define _TYPEDEF_H_

#define TRUE	1
#define FALSE	0

/*~
******************************************************************************
defines
******************************************************************************
~*/
#define BIT0  (1U <<0)
#define BIT1  (1U <<1)
#define BIT2  (1U <<2)
#define BIT3  (1U <<3)
#define BIT4  (1U <<4)
#define BIT5  (1U <<5)
#define BIT6  (1U <<6)
#define BIT7  (1U <<7)
#define BIT8  (1U <<8)
#define BIT9  (1U <<9)
#define BITA (1U <<10)
#define BITB (1U <<11)
#define BITC (1U <<12)
#define BITD (1U <<13)
#define BITE (1U <<14)
#define BITF (1U <<15)


/*~
******************************************************************************
typedefs
******************************************************************************
~*/
typedef unsigned char  ubyte;    	/* 1 byte unsigned; prefix: ub */
typedef signed char    sbyte;    	/* 1 byte signed;   prefix: sb */
typedef unsigned int   uint;   	/* 2 byte unsigned; prefix: us */
typedef signed int     sint;   	/* 2 byte signed;   prefix: ss */
typedef unsigned long  ulong;    	/* 4 byte unsigned; prefix: ul */
typedef signed long    slong;    	/* 4 byte signed;   prefix: sl */


/*~
******************************************************************************
macros
******************************************************************************
~*/
/* ubyte as part of a longer type */
#define UB0(Data) (*((ubyte *)&(Data)))
#define UB1(Data) (*((ubyte *)&(Data) + 1))
#define UB2(Data) (*((ubyte *)&(Data) + 2))
#define UB3(Data) (*((ubyte *)&(Data) + 3))

/* ushort as part of a longer type */
#define US0(Data) (*((ushort *)&(Data)))
#define US1(Data) (*((ushort *)&(Data) + 1))



struct _BITS
{
	unsigned b0:1;
	unsigned b1:1;
	unsigned b2:1;
	unsigned b3:1;
	unsigned b4:1;
	unsigned b5:1;
	unsigned b6:1;
	unsigned b7:1;
};


union _UINT8							
{
	ubyte  byte;	
	struct _BITS bits;
};

struct _INT16
{
	union _UINT8 B0;
	union _UINT8 B1;
};

union _UINT16
{
	unsigned int word;
	struct _INT16 bytes;
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?