📄 iic.h
字号:
#ifndef _IIC_H_
#define _IIC_H_
#define uint unsigned int
#define uchar unsigned char
//引脚定义
sbit PinSCL = P1^6;
sbit PinSDA = P1^7;
//函数功能:短延时
void nNop(uint i);
//函数功能:长延时
void LongDelay(uint i);
//函数功能:IIC起始信号
void StartIIC(void);
//函数功能:IIC停止信号
void StopIIC(void);
//函数功能:读取从机应答信号
//说明:读取从机应答位(应答或非应答),用于判断:从机是否成功接收主机数据
// 返回: 0 —— 从机应答 1 —— 从机非应答
// 从机在收到每一个字节后都要产生应答位,主机如果收到非应答则应当终止传输
bit GetACK(void);
//函数功能:向IIC总线发出应答信号
//说明:主机产生应答位(应答或非应答),用于通知从机:主机是否成功接收从机数据
// 参数:ack=0:主机应答 ack=1:主机非应答
// 主机在收到每一个字节后都要产生应答,在收到最后一个字节后,应当产生非应答
void PutACK(bit ack);
//函数功能:初始化IIC总线
//说明: I2C总线初始化,使总线处于空闲状态
// 开始使用前,应当执行一次本函数
void InitIIC(void);
//函数功能:向IIC总线写一字节数据
//说明:参数:temp为数据
void IIC_WriteByte(uchar temp);
//函数功能:从IIC总线读一字节数据
//说明:返回一字节数据
uchar IIC_ReadByte(void);
//函数功能:向IIC总线上的从机写多字节数据
//说明:参数:SlaveAddr:从机地址(高7位是从机地址,最低位是读写标志)
// SubAddr: 从机的子地址
// size: 数据大小(以字节计)
// *dat: 要发送的数据
// 返回:0:发送成功
// 1:在发送过程中出现异常
bit IIC_Puts(uchar SlaveAddr, uchar SubAddr, uint size, uchar *dat);
//函数功能:从IIC总线上的从机读多字节数据
//说明:参数:SlaveAddr:从机地址(高7位是从机地址,最低位是读写标志)
// SubAddr: 从机的子地址
// size: 数据大小(以字节计)
// *dat: 保存接收的数据
// 返回:0:接收成功
// 1:在接收过程中出现异常
bit IIC_Gets(uchar SlaveAddr, uchar SubAddr, uint size, uchar *dat);
#endif //_IIC_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -