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

📄 basictyp.h

📁 ertfs文件系统里面既有完整ucos程序
💻 H
字号:
#ifndef __BASIC_TYPE_H__
#define __BASIC_TYPE_H__

/*
   *************************************************************************
    basic typedefs
   *************************************************************************
*/
typedef signed char       INT8;
typedef signed short      INT16;
typedef signed long       INT32;
typedef signed char *     PINT8;
typedef signed short *    PINT16;
typedef signed long *     PINT32;

typedef unsigned char       UINT8;
typedef unsigned short      UINT16;
typedef unsigned long       UINT32;
typedef unsigned char *     PUINT8;
typedef unsigned short *    PUINT16;
typedef unsigned long *     PUINT32;


typedef unsigned char                 BOOLEAN;


/*
   *************************************************************************
    basic typedefs for structures
   *************************************************************************
*/
#ifdef BIG_ENDIAN
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;

#else // Little Endian

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

    __packed struct 
    {
        INT8 endp;   
        INT8 c0;   
        INT8 tx0;  
        INT8 tx1;   
    } chars;

    __packed struct 
    {
        INT8 c0;	// LSB
        INT8 c1;   
        INT8 c2;   
        INT8 c3;	// MSB 
    } chars0;

    __packed struct
    {
        INT16 i0;    // LSW 
        INT16 i1;    // MSW 
    } ints;

    INT32 u0;

} FLEXI_INT32;

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

    INT16 i0;
} FLEXI_INT16, * PFLEXI_INT16;
#endif 


#define DATA_SEG    data
#define BDATA_SEG   bdata
#define IDATA_SEG   idata
#define XDATA_SEG   xdata

#ifdef  GLOBAL_EXT
#define BIT_EXT     sbit
#define STRUC_EXT   
#define INT8_EXT    INT8
#define INT16_EXT   INT16
#define INT32_EXT   INT32
#else
#define BIT_EXT     extern bit
#define STRUC_EXT   extern 
#define INT8_EXT    extern INT8
#define INT16_EXT   extern INT16
#define INT32_EXT   extern INT32
#endif

#endif

⌨️ 快捷键说明

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