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

📄 i2cm_io.h

📁 DSP28X通訊程式
💻 H
字号:
/*==================================================================================
File name   : VI2CM_IO.H                   
                    
Originator  : Digital Control Systems Group
              Texas Instruments

Description : Header file containing  object definitions, proto type declaration and 
              default object initializers for I2C driver module
                                            
Date        : 30/1/2002 (DD/MM/YYYY)
;==================================================================================*/


#ifndef __I2CMDRV_H__

#define __I2CMDRV_H__ 

#define NULL    0         

typedef struct {    
        unsigned int taskIndex;  /* Index into the task pointers    */
        unsigned int I2CCSR;     /* I2C Control & Status register   */
        unsigned int I2CDAT;     /* I2C Shift Register              */
        unsigned int bitCntr;    /* Bit Counter                     */
        void (*init)(void *);    /* Initialisation routine          */
        void (*tick)(void *);    /* I2C tick function               */
        }VI2CM_IO;  
                        

/* I2C Commands                 */
#define     START_CMD       0x02  
#define     STOP_CMD        0x0A
#define     RSTART_CMD      0x10
#define     ACK_CMD         0x16
#define     RECV_CMD        0x1C
#define     TXMIT_CMD       0x22
#define     IDLE_STATE      0

typedef enum {	I2C_ISSUE_START=START_CMD,
	I2C_ISSUE_RPTSTART=RSTART_CMD,
	I2C_ISSUE_STOP=STOP_CMD,
	I2C_ISSUE_ACKHI=0x200|ACK_CMD,
	I2C_ISSUE_ACKLO=ACK_CMD,
	I2C_TXMIT_ENABLE=TXMIT_CMD,
	I2C_RECV_ENABLE=RECV_CMD }I2C_COMMAND;

/* Bit mask                     */
#define     I2C_ACKSTAT     1
#define     I2C_ACKDT       2

#define VI2CM_IO_DEFAULTS { IDLE_STATE,\
        0,\
        0,\
        0,\
        (void (*)(void *))vi2cmInit,\
        (void (*)(void *))vi2cmTick}  

typedef VI2CM_IO  *VI2CM_IO_handle;

/* I2C Driver API        */
void vi2cmInit(VI2CM_IO *); 
void vi2cmTick(VI2CM_IO *);

/* I2C Driver Utilities  */
unsigned int vi2cmFree(VI2CM_IO *);
void vi2cmCmd(VI2CM_IO *, I2C_COMMAND);
unsigned int vi2cmReadAck(VI2CM_IO *);

#endif     

⌨️ 快捷键说明

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