www.pudn.com > Bit1611_demo_code.rar > BITEK.H


/*  *********************************************************************** 
 
         Copyright (c) 2002-2006 Beyond Innovation Technology Co., Ltd 
 
        All rights are reserved. Reproduction in whole or in parts is 
    prohibited without the prior written consent of the copyright owner. 
   ---------------------------------------------------------------------- 
 
    Module: BITEK.H - BITEKbus. 
 
    Purpose: Interface of BITEK module. 
 
    Version: 0.01                                   12:14PM  2004/10/25 
 
    Compiler: Keil 8051 C Compiler v8.01 
 
    Reference: 
    [1] BIT1611B Datasheet Version 1.0, 2004-11-05, Beyond Innovation Technology 
 
   ---------------------------------------------------------------------- 
    Modification: 
 
    R0.01 10:25AM  2004/10/25 Jeffrey Chang 
    Reason: 
        1. Original. 
    Solution: 
 
   *********************************************************************** */ 
 
#ifndef _BITEK_H_ 
#define _BITEK_H_ 
 
 
/* ------------------------------------ 
    Header Files 
   ------------------------------------ */ 
#include "platform.h" 
 
#if (VP_IF_CFG == VP_IF_I2C) 
    #include "i2c.h" 
#endif 
 
/* ------------------------------------ 
    Macro Definition 
   ------------------------------------ */ 
#undef  EXTERN 
 
#ifdef  _BITEK_C_ 
    #define EXTERN 
#else 
    #define EXTERN extern 
#endif 
 
 
 
/* :::::::::::::::::::::::::::::::::::: 
    BITEK Configuration 
   :::::::::::::::::::::::::::::::::::: */ 
#if (VP_IF_CFG == VP_IF_I2C) 
 
    #define BITEK_RxBurst(bSLA, wREG, bCNT, pbDATA)  \ 
        I2C_RxBurst((bSLA) | (((wREG) >> 7) & 0x1E), (wREG), (bCNT), (pbDATA)) 
 
    #define BITEK_RxByte(bSLA, wREG)                 \ 
        I2C_RxByte((bSLA) | (((wREG) >> 7) & 0x1E), (wREG)) 
 
    #define BITEK_RxWord(bSLA, wREG)                 \ 
        I2C_RxWord((bSLA) | (((wREG) >> 7) & 0x1E), (wREG)) 
 
    #define BITEK_TxBurst(bSLA, wREG, bCNT, pbDATA)  \ 
        I2C_TxBurst((bSLA) | (((wREG) >> 7) & 0x1E), (wREG), (bCNT), (pbDATA)) 
 
    #define BITEK_TxByte(bSLA, wREG, bDATA)                 \ 
        I2C_TxByte((bSLA) | (((wREG) >> 7) & 0x1E), (wREG), (bDATA)) 
 
    #define BITEK_TxWord(bSLA, wREG, wDATA)                 \ 
        I2C_TxWord((bSLA) | (((wREG) >> 7) & 0x1E), (wREG), (wDATA)) 
 
    #define BITEK_TX_REPEAT             ON 
 
#else 
 
        #define BITEK_RX_BURST          OFF 
        #define BITEK_RX_BYTE           ON 
        #define BITEK_RX_WORD           OFF 
 
        #define BITEK_SET_ACK           OFF 
 
        #define BITEK_TX_BURST          ON 
        #define BITEK_TX_BYTE           ON 
        #define BITEK_TX_REPEAT         ON 
        #define BITEK_TX_WORD           OFF 
 
 
#endif 
 
/* :::::::::::::::::::::::::::::::::::: 
    BITEK Terminals 
   :::::::::::::::::::::::::::::::::::: */ 
 
/* :::::::::::::::::::::::::::::::::::: 
    BITEK Pins 
   :::::::::::::::::::::::::::::::::::: */ 
 
 
 
/* ------------------------------------ 
    Type Definitions 
   ------------------------------------ */ 
 
/* ------------------------------------ 
    Variables Definitions/Declarations 
   ------------------------------------ */ 
 
/* ------------------------------------ 
    Function Prototypes 
   ------------------------------------ */ 
#if (VP_IF_CFG == VP_IF_BITEK) 
 
 
    EXTERN void BITEK_Init(void); 
 
    #if (BITEK_RX_BURST) 
    EXTERN void BITEK_RxBurst(UB8 bSLA, UW16 wREG, UB8 bCNT, UB8 *pbDATA); 
    #endif 
 
    #if (BITEK_RX_BYTE) 
    EXTERN UB8  BITEK_RxByte(UB8 bSLA, UW16 wREG); 
    #endif 
 
    #if (BITEK_RX_WORD) 
    EXTERN UW16 BITEK_RxWord(UB8 bSLA, UW16 wREG); 
    #endif 
 
 
    #if (BITEK_TX_BURST) 
    EXTERN void BITEK_TxBurst(UB8 bSLA, UW16 wREG, UB8 bCNT, UB8 *pbDATA); 
    #endif 
 
    #if (BITEK_TX_BYTE) 
    EXTERN void BITEK_TxByte(UB8 bSLA, UW16 wREG, UB8 bDATA); 
    #endif 
 
    #if (BITEK_TX_REPEAT) 
    EXTERN void BITEK_TxRepeat(UB8 bSLA, UW16 wREG, UB8 bCNT, UB8 bDATA); 
    #endif 
 
    #if (BITEK_TX_WORD) 
    EXTERN void BITEK_TxWord(UB8 bSLA, UW16 wREG, UW16 wDATA); 
    #endif 
 
#else 
 
    EXTERN void BITEK_Init(void); 
 
    #if (BITEK_TX_REPEAT) 
    EXTERN void BITEK_TxRepeat(UB8 bSLA, UW16 wREG, UB8 bCNT, UB8 bDATA); 
    #endif 
 
#endif 
 
 
#endif /* _BITEK_H_ */ 
 
 
 
/* ********************************************************************** 
 
    Description: 
 
   ********************************************************************** */ 
 
/* %% End Of File %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */