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

📄 types.h

📁 FAT16 Filesystem on Philips LPC2000 series processors
💻 H
字号:
/******************************************************************************
 *
 * $RCSfile: $
 * $Revision: $
 *
 * This module defines some regularly used typedefs
 *
 *****************************************************************************/

#ifndef INC_TYPES_H
#define INC_TYPES_H

/*  typedefs are here  */
typedef unsigned char       uint8_t;
typedef   signed char        int8_t;
typedef unsigned short     uint16_t;
typedef   signed short      int16_t;
typedef unsigned long      uint32_t;
typedef   signed long       int32_t;
typedef unsigned long long uint64_t;
typedef   signed long long  int64_t;

typedef uint16_t				ushort;
typedef uint32_t				ulong;
typedef uint8_t				uchar;
typedef unsigned int			uint;

typedef enum {False, True} bool;

#ifndef BIT
#define BIT(n)              (1 << (n))
#endif

/* turn a numeric literal into a hex constant
  (avoids problems with leading zeroes)
  8-bit constants max value 0x11111111, always fits in unsigned long
*/
#define HEX__(n) 0x##n##LU


/* 8-bit conversion function */
#define B8__(x) ((x&0x0000000FLU)?1:0)      \
              +((x&0x000000F0LU)?2:0)       \
              +((x&0x00000F00LU)?4:0)       \
              +((x&0x0000F000LU)?8:0)       \
              +((x&0x000F0000LU)?16:0)      \
              +((x&0x00F00000LU)?32:0)      \
              +((x&0x0F000000LU)?64:0)      \
              +((x&0xF0000000LU)?128:0)


/* *** user macros ***/


/* for upto 8-bit binary constants */
#define B8(d) ((unsigned char)B8__(HEX__(d)))


/* for upto 16-bit binary constants, MSB first */
#define B16(dmsb,dlsb) (((unsigned short)B8(dmsb)<<8)     \
                        + B8(dlsb))


/* for upto 32-bit binary constants, MSB first */
#define B32(dmsb,db2,db3,dlsb) (((unsigned long)B8(dmsb)<<24)      \
                                  + ((unsigned long)B8(db2)<<16) \
                                  + ((unsigned long)B8(db3)<<8)    \
                                  + B8(dlsb))
//
// use as:
// init foo to 0xa5
// int foo = B8(10100101);
//

#endif

⌨️ 快捷键说明

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