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

📄 sw_i2c_slave.h

📁 MSP430和GPS的接口程序
💻 H
字号:
#ifndef SW_I2C_SLAVE_H
#define SW_I2C_SLAVE_H


#include <msp430x12x2.h>
#include "configOptions.h"


//
// I2C Slave Address
//
#define I2C_SLAVE_ADDR  0x46                // I2C slave address

//
// I2C Timeout
//
#define I2C_TIMEOUT     33                  // Number of ACLKs (33 is ~1 msec)


//
// SCL Port Pin
//
#ifdef FET_BOARD                            // MSP430 on FET board
#define SCL_PIN         0x08                // SCL is P1.3 on FET board
#else
#define SCL_PIN         0x01                // SCL is P1.0
#endif

#define SCL_IN          P1IN
#define SCL_OUT         P1OUT
#define SCL_DIR         P1DIR
#define SCL_IE          P1IE
#define SCL_IES         P1IES
#define SCL_IFG         P1IFG


//
// SDA Port Pin
//
#define SDA_PIN         0x01                // SDA is P2.0
#define SDA_IN          P2IN
#define SDA_OUT         P2OUT
#define SDA_DIR         P2DIR
#define SDA_IE          P2IE
#define SDA_IES         P2IES
#define SDA_IFG         P2IFG


//
// I2C Buffers
//
#define I2CMSGLEN       32                  // Max I2C msg length
#define I2CRXBUFFLEN    32                  // I2C Rx buffer size
#define I2CTXBUFFLEN    32                  // I2C Tx buffer size
#define I2CTXINDEXMASK  (I2CTXBUFFLEN-1)    // Buffer overflow mask
#define I2CRXINDEXMASK  (I2CRXBUFFLEN-1)    // Buffer overflow mask


//
// I2C Registers
//
#define SCL_TBL         R4                  // Reserve R4 for SCL Tbl Pointer
#define I2C_DATA        R5                  // Reserve R5 for I2C data
#define I2C_IDX         R6                  // I2C buffer index


//
// I2C Events
//
#define I2C_MATCH       0x01                // I2C Address Match
#define I2C_STOP        0x02                // I2C Stop



#ifdef __IAR_SYSTEMS_ASM__                  // Asm source file include


I2C_ADDR    EQU     I2C_SLAVE_ADDR          // I2C Slave Address


#else                                       // C source file includes


extern unsigned int  I2CIdx;
extern unsigned char I2CEvent;
extern unsigned char I2CRxBuff[I2CRXBUFFLEN];
extern unsigned char I2CTxBuff[I2CTXBUFFLEN];


void initSWI2C(void);
void resetSWI2C(void);
void regI2CCallBack(void (*cbFunc)(unsigned char i2cData));


#endif


#endif /* SW_I2C_SLAVE_H */

⌨️ 快捷键说明

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