common.h

来自「ls811的USB FAT文件系统」· C头文件 代码 · 共 108 行

H
108
字号
/*******************************Copyright (c)***************************************

                              桑海为实业发展有限公司
                         自  动  化  钢  琴  研  究  所
                           http://www.pianoshw.com
                           E-mail:shw@pianoshw.com

----------------------------------文件信息-------------------------------------------

文  件  名 : COMMON.H
创  建  人 : 吴应斌
创 建 日 期: 2004-6-7 9:56
功 能 描 述: SL811系统数据类型说明

************************************************************************************/

#ifndef		_COMMON_H_
#define		_COMMON_H_

/*---------------------------------------------------------------------------------*/
#include <AT89X52.H>

#define NULL					0
#define TRUE   					1
#define FALSE  					0

#define UARTBUF_LENGTH  		28672
#define BUFFER_LENGTH			512
#define MAX_READ_LENGTH 		28672
#define MAX_WRITE_LENGTH 		28672

#define DISABLE_INTERRUPTS		(EA=0)
#define ENABLE_INTERRUPTS		(EA=1)

typedef unsigned char       	INT8;
typedef unsigned short      	INT16;
typedef unsigned long       	INT32;

typedef union
{
    struct 
    {
        INT8    Type;
        INT8    Index;
    } Descriptor;

    struct 
    {
        INT8 tx0;  // MSB for 8051 Keil C
        INT8 tx1;   
        INT8 endp;   
        INT8 c0;   // LSB for 8051 Keil C
    } chars;

    struct 
    {
        INT8 c3;  // MSB for 8051 Keil C
        INT8 c2;   
        INT8 c1;   
        INT8 c0;   // LSB for 8051 Keil C
    } chars0;

    struct
    {
        INT16 i1;    // MSW for 8051 keil C
        INT16 i0;    // LSW for 8051 Keil C
    } ints;

    INT32 u0;

}FLEXI_INT32;

typedef union
{
    struct 
    {
        INT8 c1;   // MSB for 8051 Keil C
        INT8 c0;   // LSB for 8051 Keil C
    } chars;

    INT16 i0;
}FLEXI_INT16, * PFLEXI_INT16;

//USB工作标志
typedef union _XXG_FLAGS
{
	struct _FLAGS
	{				//:1指定为Bit型变量							
		unsigned char 	bTimer              :1;	//定时器0中断标志
		unsigned char 	bIN_ISR		      	:1;
		unsigned char   bCOM_ERR			:1;	//串口通讯错误标志
		unsigned char   bTimeout			:1;	//系统超时标志
		unsigned char   SLAVE_IS_ATTACHED	:1;
		unsigned char   SLAVE_REMOVED		:1;	//移除磁盘标志
		unsigned char  	SLAVE_FOUND			:1;	//创建磁盘标志
		unsigned char  	SLAVE_ENUMERATED	:1;	//枚举磁盘标志
		unsigned char   SLAVE_ONLINE		:1; //连接磁盘标志
		unsigned char 	TIMEOUT_ERR			:1;	
		unsigned char	DATA_STOP			:1;	
		unsigned char 	bData1				:1;
		unsigned char 	bUartInDone			:1;	//串口命令标志
		unsigned char 	bMassDevice			:1;	//枚举结果标志
		unsigned char 	bFatChanged			:1;
	} bits;
}XXGFLAGS;

/*---------------------------------------------------------------------------------*/
#endif

⌨️ 快捷键说明

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