/********************************************************************************************************* * 模块名称: I2C.h * 摘 要: I2C驱动 * 当前版本: 1.0.0 * 作 者:Leyutek(COPYRIGHT 2018 - 2021 Leyutek. All rights reserved.) * 完成日期: 2021年07月01日 * 内 容: * 注 意: none ********************************************************************************************************** * 取代版本: * 作 者: * 完成日期: * 修改内容: * 修改文件: *********************************************************************************************************/ #ifndef _I2C_H_ #define _I2C_H_ /********************************************************************************************************* * 包含头文件 *********************************************************************************************************/ #include "gd32f30x_libopt.h" /********************************************************************************************************* * 宏定义 *********************************************************************************************************/ #define ACK 1 //读取一字节数据后,发送ACK #define NACK 0 //读取一字节数据后,发送NACK /********************************************************************************************************* * 结构体定义 *********************************************************************************************************/ /********************************************************************************************************* * API函数声明 *********************************************************************************************************/ void InitI2C(void); //初始化IIC,主要是GPIO的初始化 void GenI2CStartSig(void); //产生IIC起始时序 void GenI2CStopSig(void); //产生IIC停止时序 void I2CSendByte(unsigned char txd); //IIC发送一字节数据 unsigned char I2CReadByte(unsigned char ack); //IIC读取一字节数据 unsigned char I2CWaitAck(void); //IIC等待ACK信号 void SendI2CAck(void); //IIC发送ACK信号 void SendI2CNAck(void); //IIC不发送ACK信号 #endif