📄 i2c.h
字号:
//****************************************************************************
//文件名:I2C.h
//描述: 实现I2C总线的基本操作头文件
//****************************************************************************
#ifndef _I2C_H_
#define _I2C_H_
//#ifndef I2CDIR
#define I2CDIR P1DIR
#define I2CSEL P1SEL
#define I2COUT P1OUT
#define I2CIN P1IN
#define WP BIT4
#define SCL BIT5
#define SDA BIT4
#define SDAIN I2CDIR &=~SDA /*SDA输入方式*/
#define SDAOUT I2CDIR |= SDA /*SDA输出方式*/
#define SCLIN I2CDIR &= ~SCL /*SCL输入方式*/
#define SCLOUT I2CDIR |= SCL /*SCL输出方式*/
#define SSCL I2COUT |= SCL
#define CSCL I2COUT &= ~SCL
#define SSDA I2COUT |= SDA
#define CSDA I2COUT &= ~SDA
#define TESTACK() I2CIN&SDA
#define READSDA() I2CIN&SDA
#define ACK Ack_I2C(0)
#define NOACK Ack_I2C(1)
#define START Start_I2C()
#define STOP Stop_I2C()
extern unsigned char ack;
//****************************************************************************
//延迟函数
//参数:无
//返回值: 无
//****************************************************************************
void _Nop();
//****************************************************************************
//启动I2C总线
//参数:无
//返回值: 无
//****************************************************************************
void Start_I2C();
//****************************************************************************
//释放I2C总线
//参数:无
//返回值: 无
//****************************************************************************
void Stop_I2C();
//****************************************************************************
//向总线写入一个字节
//参数:c:写入数据
//返回值: 0:failed 1:success
//****************************************************************************
unsigned char SendByte(unsigned char c);
//****************************************************************************
//从总线读取一个字节
//参数:无
//返回值: 读取数据
//****************************************************************************
unsigned char RecByte();
//****************************************************************************
//应答函数
//参数:a:应答类型
//返回值: 无
//****************************************************************************
void Ack_I2C(unsigned char a);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -