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

📄 i2c.h

📁 Bitek 公司 bit1611b模拟屏驱动芯片外接MCU驱动DEMO源码
💻 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: I2C.H

    Purpose: Interface of I2C module.

    Version: 0.01                                   07:23PM  2005/05/13

    Compiler: Keil 8051 C Compiler v8.01

    Reference:

   ----------------------------------------------------------------------
    Modification:

    R0.01 07:23PM  2005/05/13 Jeffrey Chang
    Reason:
        1. Original.
    Solution:

   *********************************************************************** */

#ifndef _I2C_H_
#define _I2C_H_


/* ------------------------------------
    Header Files
   ------------------------------------ */
#include "platform.h"


/* ------------------------------------
    Macro Definition
   ------------------------------------ */
#undef  EXTERN

#ifdef  _I2C_C_
    #define EXTERN
#else
    #define EXTERN extern
#endif


/* ::::::::::::::::::::::::::::::::::::
    I2C Mode Configuration
   :::::::::::::::::::::::::::::::::::: */
#define I2C_MODE_SLOW               1           // < 100 kbit/s
#define I2C_MODE_STANDARD           2           // 100 kbit/s       108K Hz for CLK HIGH interval
#define I2C_MODE_FAST               3           // 400 kbit/s       400K Hz for CLK HIGH interval
#define I2C_MODE_HIGHSPEED          4           // 3.4 Mbit/s       1.19M Hz for CLK HIGH interval

#define I2C_MODE_CFG                I2C_MODE_STANDARD
//#define I2C_MODE_CFG                I2C_MODE_SLOW



/* ::::::::::::::::::::::::::::::::::::
    I2C Configuration
   :::::::::::::::::::::::::::::::::::: */

#if (VP_IF_CFG == VP_IF_I2C)

    #if (PROJECT == DMO01010101)

        #define I2C_RX_BURST        OFF
        #define I2C_RX_BYTE         ON
        #define I2C_RX_WORD         OFF

        #define I2C_TX_BURST        ON
        #define I2C_TX_BYTE         ON
        #define I2C_TX_WORD         ON

    #else

        #define I2C_RX_BURST        OFF
        #define I2C_RX_BYTE         ON
        #define I2C_RX_WORD         OFF

        #define I2C_TX_BURST        ON
        #define I2C_TX_BYTE         ON
        #define I2C_TX_WORD         OFF

    #endif


#else

    #if (PLATFORM_CFG == PLATFORM_01_DMO1611A0)
        // (01)VID540-100-027/BIT1611B0  (v1.00 2005/10/14 BIT1611B0 Demo Board)

        #define I2C_RX_BURST        OFF
        #define I2C_RX_BYTE         OFF
        #define I2C_RX_WORD         OFF

        #define I2C_TX_BURST        OFF
        #define I2C_TX_BYTE         ON
        #define I2C_TX_WORD         OFF

    #elif (PLATFORM_CFG == PLATFORM_04_DMO1611S0)
        // (04)PLATFORM_04_DMO1611S0 (VID502-002-031,BIT1611BS0)

        #define I2C_RX_BURST        OFF
        #define I2C_RX_BYTE         OFF
        #define I2C_RX_WORD         OFF

        #define I2C_TX_BURST        OFF
        #define I2C_TX_BYTE         ON
        #define I2C_TX_WORD         OFF

    #elif (PLATFORM_CFG == PLATFORM_06_VTX0501)
        // (06)PLATFORM_06_VTX0501 (BMW HS 2.1)

        #define I2C_RX_BURST        OFF
        #define I2C_RX_BYTE         OFF
        #define I2C_RX_WORD         OFF

        #define I2C_TX_BURST        OFF
        #define I2C_TX_BYTE         ON
        #define I2C_TX_WORD         OFF

    #else
        #error I2C.H - Invalid PROJECT !

    #endif /* PROJECT */

#endif

/* ------------------------------------
    Type Definitions
   ------------------------------------ */

/* ------------------------------------
    Variables Definitions/Declarations
   ------------------------------------ */


/* ------------------------------------
    Function Prototypes
   ------------------------------------ */
EXTERN BOOL I2C_GetACK(void);
EXTERN void I2C_Init(void);


#if (I2C_RX_BURST)
EXTERN void I2C_RxBurst(UB8 bSLA, UB8 bREG, UB8 bCNT, UB8 *pbDATA);
#endif

#if (I2C_RX_BYTE)
EXTERN UB8  I2C_RxByte(UB8 bSLA, UB8 bREG);
#endif

EXTERN UB8  I2C_RxData(void);

#if (I2C_RX_WORD)
EXTERN UW16 I2C_RxWord(UB8 bSLA, UB8 bREG);
#endif


EXTERN void I2C_SetACK(void);
EXTERN void I2C_SetNAK(void);

EXTERN void I2C_Start(void);
EXTERN void I2C_Stop(void);


#if (I2C_TX_BURST)
EXTERN void I2C_TxBurst(UB8 bSLA, UB8 bREG, UB8 bCNT, UB8 *pbDATA);
#endif

#if (I2C_TX_BYTE)
EXTERN void I2C_TxByte(UB8 bSLA, UB8 bREG, UB8 bDATA);
#endif

EXTERN void I2C_TxData(UB8 bData);

#if (I2C_TX_WORD)
EXTERN void I2C_TxWord(UB8 bSLA, UB8 bREG, UW16 wDATA);
#endif


#endif /* _I2C_H_ */


/* **********************************************************************

    Description:

   ********************************************************************** */

/* %% End Of File %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */

⌨️ 快捷键说明

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