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

📄 basictyp.h

📁 ISP1181MCU_FW_Ver1.01.zip是基于飞利浦ISP1181的USB HOST开发板固件源代码
💻 H
字号:
/*
   //*************************************************************************
   //
   //                  P H I L I P S   P R O P R I E T A R Y
   //
   //           COPYRIGHT (c)   1999 BY PHILIPS SINGAPORE.
   //                     --  ALL RIGHTS RESERVED  --
   //
   // File Name:        BasicTyp.H
   // Created:          Oct. 12 2000
   // Modified:
   // Revision: 		1.01
   //
   //*************************************************************************
   //
   //*************************************************************************
   */


#ifndef __BASIC_TYPE_H__
#define __BASIC_TYPE_H__
/*
   //*************************************************************************
   // macros
   //*************************************************************************
*/
#define SWAP(x)   ((((x) & 0xFF) << 8) | (((x) >> 8) & 0xFF))

#define MSB(x)    (((x) >> 8) & 0xFF)
#define LSB(x)    ((x) & 0xFF)

//#define code
//#define idata

#define FALSE   0
#define TRUE    (!FALSE)

#define IRQL_1
#define IRQL_0

/*
   //*************************************************************************
   // basic typedefs
   //*************************************************************************
*/
typedef char				CHAR;
typedef unsigned char       UCHAR;
typedef unsigned short      USHORT;
typedef unsigned long       ULONG;
typedef unsigned char       BOOL;
typedef char *				PCHAR;
typedef unsigned char *     PUCHAR;
typedef unsigned short *    PUSHORT;
typedef unsigned long *     PULONG;
typedef unsigned char       BOOLEAN;

#define BYTE unsigned char
#define WORD unsigned int

#define SFR    sfr		 // 8 bits special function register
#define SBIT   sbit		 // bit access special function register

#define DATA   data		 // direct access internal data RAM
#define IDATA  idata		 // indirect access internal data RAM
#define XDATA  xdata		 // external access external data RAM
#define PDATA  pdata		 // paged access external data RAM
#define CODE   code		 // program code area

#define LOBYTE(x)  (BYTE)((x) >> 8)	//C51 byte ording uses Big Endian(Motorola)
#define HIBYTE(x)  (BYTE)((x) & 0x00ff) //High byte is stored first

typedef union _Address {
	USHORT  IoPort;     /* IoData Port */
	UCHAR * pData;      /* Memory Address */
} ADDRESS;

/*
   //*************************************************************************
   // basic typedefs for structures
   //*************************************************************************
*/
typedef union {
    struct 
    {
        UCHAR Type;
        UCHAR Index;
    } Descriptor;

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

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

    ULONG u0;

} FLEXI_ULONG;

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

    USHORT i0;
} FLEXI_USHORT;

#endif

⌨️ 快捷键说明

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