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

📄 i2c.h

📁 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 + -