/******************************************************************************
�� �� ����Simulated_IIC_Master.h
����������IO�˿�ģ���IIC(I2C)����������ͷ�ļ�
��    �ߣ�����
��    ����V1.0
��    �ڣ�2016.12.21
******************************************************************************/

#ifndef _SIMULATED_IIC_MASTER_H_
#define _SIMULATED_IIC_MASTER_H_


#include "dr7f701401.dvf.h"
#include "RTE_GPIO.h"
#include "GPIO.h"
#include "r_typedefs.h"


/******************************************************************************
1us��ʱУ׼
******************************************************************************/
#define IIC_FREQ_CALIBRATION 40

/******************************************************************************
ȷ���ź�
******************************************************************************/
#define IIC_ACK 0         //�϶�Ӧ��
#define IIC_NAK 1         //��Ӧ��
#define IIC_INVALID_ACK 2 //��Ч��Ӧ���ź�(Ӧ���źŻ�δ�յ�)

/******************************************************************************
���Ŷ���
******************************************************************************/
#define    EEPROM_SCL_OUT               PORT_ISOP44_3
#define    EEPROM_SCL_INPUT             PORT_ISOPPR44_3
#define    EEPROM_SCL_DIR               PORT_ISOPM44_3

#define    EEPROM_SDA_OUT               PORT_ISOP44_2
#define    EEPROM_SDA_INPUT             PORT_ISOPPR44_2
#define    EEPROM_SDA_DIR               PORT_ISOPM44_2

/******************************************************************************
��������
******************************************************************************/
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