1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- /*------------------------------------------------------------------------------
- * general.h
- * Copyright 2012 Xinbas Electronics Co.,Ltd.
- * Description:
- * - This file implements the follow functions:
- * -
- * modification history
- * --------------------
- * 17:54pm, 09.Aug.2012, written by Sirius
- * --------------------
- ------------------------------------------------------------------------------*/
- #ifndef GENERAL_H
- #define GENERAL_H
- //==============================================================
- /*------------------------------------------------------------------------------
- * I N C L U D E
- *------------------------------------------------------------------------------*/
- //--------------------------------------------------------------
- // chip internal command definitions
- //--------------------------------------------------------------
- //#define enableInterrupts() {_asm("rim\n");} /* enable interrupts */
- //#define disableInterrupts() {_asm("sim\n");} /* disable interrupts */
- //#define rim() {_asm("rim\n");} /* enable interrupts */
- //#define sim() {_asm("sim\n");} /* disable interrupts */
- //#define nop() {_asm("nop\n");} /* No Operation */
- //#define trap() {_asm("trap\n");} /* Trap (soft IT) */
- //#define wfi() {_asm("wfi\n");} /* Wait For Interrupt */
- //#define halt() {_asm("halt\n");} /* Halt */
- //--------------------------------------------------------------
- // type definitions
- //--------------------------------------------------------------
- typedef char C08; /* 8 bit character */
- typedef signed char S08; /* signed 8 bit integer */
- typedef signed short S16; /* signed 16 bit integer */
- typedef signed int S32; /* signed 32 bit integer */
- typedef unsigned char U08; /* unsigned 8 bit integer */
- typedef unsigned short U16; /* unsigned 16 bit integer */
- typedef unsigned int U32; /* unsigned 32 bit integer */
- typedef float F32; /* 32 bit floating-point number */
- typedef volatile unsigned int VU32;
- typedef volatile unsigned short VU16;
- typedef volatile unsigned char VU08;
- typedef void (*fp_prm) (U16 prm); /* pointer to function with prm */
- typedef void (*fp_void)(void); /* pointer to function without prm */
- //--- boolean types
- typedef int BOOL; /* boolean types */
- //--------------------------------------------------------------
- // frequently used names
- //--------------------------------------------------------------
- #define TRUE (1==1)
- #define FALSE (1!=1)
- #ifndef NULL
- #define NULL ((void *)0) /* NULL setting */
- #endif
- //--------------------------------------------------------------
- // MACRO definitions
- //--------------------------------------------------------------
- #define HI_NIBLE(value) (U08)(((U08)(value)) >> 4)
- #define LO_NIBLE(value) (U08)(((U08)(value)) & 0x0F)
- #define HI_BYTE(value) (U08)((value) >> 8)
- #define LO_BYTE(value) (U08)(value)
- #define TO_WORD(a,b) (U16)(((U16)(a) << 8) + (b))
- #define HI_WORD(value) (U16)((value) >> 16)
- #define LO_WORD(value) (U16)(value)
- //--------------------------------------------------------------
- // Handling bits
- //--------------------------------------------------------------
- #define SetBit(VAR,Place) ( (VAR) |= (U08)((U08)1<<(U08)(Place)) )
- #define ClrBit(VAR,Place) ( (VAR) &= (U08)((U08)((U08)1<<(U08)(Place))^(U08)255) )
- #define ChgBit(VAR,Place) ( (VAR) ^= (U08)((U08)1<<(U08)(Place)) )
- #define ValBit(VAR,Place) ((U08)(VAR) & (U08)((U08)1<<(U08)(Place)))
- //==============================================================
- #endif
- // End Of File
- //==============================================================
|