/****************************************************************************** 文 件 名:Simulated_IIC_Master.h 功能描述:IO端口模拟的IIC(I2C)主机函数库头文件 作 者:张暄 版 本:V1.0 日 期:2016.12.21 ******************************************************************************/ #ifndef _SIMULATED_IIC_MASTER_H_ #define _SIMULATED_IIC_MASTER_H_ #include "GPIO.h" #include "comdef.h" /****************************************************************************** 1us延时校准 ******************************************************************************/ #define IIC_FREQ_CALIBRATION 4 /****************************************************************************** 确认信号 ******************************************************************************/ #define IIC_ACK 0 //肯定应答 #define IIC_NAK 1 //否定应答 #define IIC_INVALID_ACK 2 //无效的应答信号(应答信号还未收到) /****************************************************************************** 引脚定义 ******************************************************************************/ #ifndef IIC_SCL #define IIC_SCL EEPROM_SDA //SCL信号 #endif #ifndef IIC_SCL_DIR #define IIC_SCL_DIR DDRB_DDRB3 //SCL方向 #endif #ifndef IIC_SDA #define IIC_SDA EEPROM_SCL //SDA信号 #endif #ifndef IIC_SDA_DIR #define IIC_SDA_DIR DDRB_DDRB2 //SDA方向 #endif /****************************************************************************** 函数声明 ******************************************************************************/ void IIC_Init(void); void IIC_Start(void); void IIC_Stop(void); void IIC_Transmit_Data(uint8_t Data); uint8_t IIC_Receive_Data(void); void IIC_Transmit_ACK(uint8_t ACK); uint8_t IIC_Receive_ACK(void); void IIC_Delay(void); #endif