hal_type.h
来自「最新版IAR FOR ARM(EWARM)5.11中的代码例子」· C头文件 代码 · 共 68 行
H
68 行
//-----------------------------------------------------------------------------
// HAL_TYPE
//-----------------------------------------------------------------------------
#ifndef HAL_TYPE_H
#define HAL_TYPE_H
//-----------------------------------------------------------------------------
typedef unsigned long u32;
typedef unsigned short u16;
typedef unsigned char u8;
typedef signed long s32;
typedef signed short s16;
typedef signed char s8;
typedef volatile unsigned long vu32;
typedef volatile unsigned short vu16;
typedef volatile unsigned char vu8;
typedef volatile signed long vs32;
typedef volatile signed short vs16;
typedef volatile signed char vs8;
//-----------------------------------------------------------------------------
// TYPEDEFs
//-----------------------------------------------------------------------------
typedef enum {RESET = 0, SET = !RESET} FlagStatus;
typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
typedef enum {INDIRECT = 0, DIRECT = !INDIRECT} RegisterAccess;
#define functionalstate FunctionalState
#define flagstatus FlagStatus
#define registeraccess RegisterAccess
//-----------------------------------------------------------------------------
// BIT OPERATION
//-----------------------------------------------------------------------------
#define SetBit(VAR,Place) ( VAR |= (1<<Place) )
#define ClrBit(VAR,Place) ( VAR &= ~(1<<Place) )
#define ClrBit8(VAR,Place) ( VAR &= ((1<<Place)^255) )
#define ClrBit16(VAR,Place) ( VAR &= ((1<<Place)^0xFFFF) )
#define ClrBit32(VAR,Place) ( VAR &= ((1<<Place)^0xFFFFFFFF) )
#define ValBit(VAR,Place) ( VAR & (1<<Place) )
#define MskBit(Dest,Msk,Src) ( Dest = (Msk & Src) | ((~Msk) & Dest) )
//-----------------------------------------------------------------------------
// GENERAL BIT DEFINITION
//-----------------------------------------------------------------------------
#define bit0 0
#define bit1 1
#define bit2 2
#define bit3 3
#define bit4 4
#define bit5 5
#define bit6 6
#define bit7 7
//-----------------------------------------------------------------------------
// TIME DELAY
//-----------------------------------------------------------------------------
inline void TimeDelay (u32 time)
{
for (u32 i=0;i<time; i++);
}
//-----------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?