⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.h

📁 linux flash 操作控制程序源码! l inux flash 操作控制程序源码!
💻 H
字号:
#ifndef COMMON_TYPES_INC
#define COMMON_TYPES_INC

/* Typedefs for integer types */
typedef unsigned char	uint8_t;	/* unsigned 8 bit data	*/
typedef unsigned short	uint16_t;	/* unsigned 16 bit data	*/
typedef unsigned int	uint32_t;	/* unsigned 32 bit data	*/
typedef signed char		int8_t;		/* signed 8 bit data	*/
typedef signed short	int16_t;	/* signed 16 bit data	*/
typedef signed int		int32_t;	/* signed 32 bit data	*/

typedef uint8_t *		p_uint8_t;	/* unsigned 8 bit data	*/
typedef uint16_t *		p_uint16_t;	/* unsigned 16 bit data	*/
typedef uint32_t *		p_uint32_t;	/* unsigned 32 bit data	*/
typedef int8_t *		p_int8_t;	/* signed 8 bit data	*/
typedef int16_t *		p_int16_t;	/* signed 16 bit data	*/
typedef int32_t *		p_int32_t;	/* signed 32 bit data	*/

typedef uint16_t		text_t;		/* 16-bit text data 	*/
typedef p_uint16_t		p_text_t;	/* 16-bit text data 	*/

typedef uint8_t			bool_t;		/* Boolean, TRUE/FALSE	*/

typedef unsigned char   U8;     /* unsigned 8 bit data  */
typedef unsigned short  U16;    /* unsigned 16 bit data */
typedef unsigned int    U32;    /* unsigned 32 bit data */
typedef char            S8;     /* signed 8 bit data  */
typedef short           S16;    /* signed 16 bit data */
typedef int             S32;    /* signed 32 bit data */

typedef U8 *    P_U8;           /* unsigned 8 bit data  */
typedef U16 *   P_U16;          /* unsigned 16 bit data */
typedef U32 *   P_U32;          /* unsigned 32 bit data */
typedef S8 *    P_S8;           /* signed 8 bit data  */
typedef S16 *   P_S16;          /* signed 16 bit data */
typedef S32 *   P_S32;          /* signed 32 bit data */

typedef U16     TEXT;           /* 16-bit text data */
typedef P_U16   P_TEXT;         /* 16-bit text data */

typedef U8  BOOL;               /* Boolean, TRUE/FALSE */

typedef void    VOID;           /* void */
typedef void *  P_VOID;         /* pointer to void */

#define R32   volatile P_U32
#define R16   volatile P_U16
#define R8    volatile P_U8


#define		bit31	0x80000000
#define		bit30	0x40000000
#define		bit29	0x20000000
#define		bit28	0x10000000
#define		bit27	0x08000000
#define		bit26	0x04000000
#define		bit25	0x02000000
#define		bit24	0x01000000

#define		bit23	0x00800000
#define		bit22	0x00400000
#define		bit21	0x00200000
#define		bit20	0x00100000
#define		bit19	0x00080000
#define		bit18	0x00040000
#define		bit17	0x00020000
#define		bit16	0x00010000

#define		bit15	0x00008000
#define		bit14	0x00004000
#define		bit13	0x00002000
#define		bit12	0x00001000
#define		bit11	0x00000800
#define		bit10	0x00000400
#define		bit9	0x00000200
#define		bit8	0x00000100

#define		bit7	0x00000080
#define		bit6	0x00000040
#define		bit5	0x00000020
#define		bit4	0x00000010
#define		bit3	0x00000008
#define		bit2	0x00000004
#define		bit1	0x00000002
#define		bit0	0x00000001

#define		bit31_30	(bit31|bit30)
#define		bit29_28	(bit29|bit28)
#define		bit27_26	(bit27|bit26)
#define		bit25_24	(bit25|bit24)
#define		bit23_22	(bit23|bit22)
#define		bit21_20	(bit21|bit20)
#define		bit19_18	(bit19|bit18)
#define		bit17_16	(bit17|bit16)
#define		bit15_14	(bit15|bit14)
#define		bit13_12	(bit13|bit12)
#define		bit11_10	(bit11|bit10)
#define		bit9_8		(bit9|bit8)
#define		bit7_6		(bit7|bit6)
#define		bit5_4		(bit5|bit4)
#define		bit3_2		(bit3|bit2)
#define		bit1_0		(bit1|bit0)


#define		bit31_28	0xf0000000
#define		bit27_24	0x0f000000
#define		bit23_20	0x00f00000
#define		bit19_16	0x000f0000
#define		bit15_12	0x0000f000
#define		bit11_8		0x00000f00
#define		bit7_4		0x000000f0
#define		bit3_0		0x0000000f


#define		bit31_24	0xff000000
#define		bit23_16	0x00ff0000
#define		bit15_8		0x0000ff00
#define		bit7_0		0x000000ff


#define		bit31_16	0xffff0000
#define		bit15_0		0x0000ffff


#define		PASS	0
#define		FAIL	~PASS


#define COLOR U16


/*  point structure  */
typedef struct
{
    S16 x;      /*  x point  */
    S16 y;      /*  y point  */
} POINT, *P_POINT;

typedef struct
{
    S32 x;      /*  x point  */
    S32 y;      /*  y point  */
} POINTS32, *P_POINTS32;

/*  area structure  */
typedef struct  
{
    POINT   top;        /*  Top left corner  */
    POINT   bottom;     /*  Bottom right corner  */
} AREA, *P_AREA;

typedef struct {
	P_U8 _BMP_Ptr;
	U16 _x_max, _y_max;
	U16 _x, _y;
	U16 _height, _width;
} BITMAP, *P_BITMAP;

typedef struct {
	P_U8 	p_pic;
	U32		file_size;
	U32		data_offset;
	U32		width;
	U32		height;
	U16		bits_per_pixel;
	U32		colors;
} BITMAP_F, *P_BITMAP_F;

typedef struct {
	P_U8 _BMP_Ptr;			// Bitmap pointer
	P_U8 _SCR_Ptr;			// Text Screen pointer
	P_U16 _ForeAttr_Ptr;	// Foreground attribute pointer
	P_U16 _BackAttr_Ptr;	// Background attribute pointer
	P_BITMAP _font;			// Bitmap font
	U16 _ForegroundColor;	
	U16 _BackgroundColor;
	U16 _x_max;				// Max X (width)
	U16 _y_max;				// Max Y (height)
	U16 _x;
	U16 _y;	
	
	U16 _max_col;
	U16 _max_row;
	U16 _col;
	U16 _row;
	U16 _Inited : 1;
	U16	_Scroll : 1;
} SCRTYPE, *P_SCRTYPE;


#ifndef TRUE
    #define TRUE	(1 == 1)
#endif
#ifndef FALSE
    #define FALSE	(1 == 2)
#endif


#endif

⌨️ 快捷键说明

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