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

#ifndef SIMULATED_IIC_2_MASTER_H__
#define SIMULATED_IIC_2_MASTER_H__

#include "GPIO.h"


/******************************************************************************
1us��ʱУ׼
******************************************************************************/
#define SIMULATED_IIC_2_FREQ_CALIBRATION 20U

/******************************************************************************
ȷ���ź�
******************************************************************************/
#define SIMULATED_IIC_2_ACK 0U		   //�϶�Ӧ��
#define SIMULATED_IIC_2_NAK 1U		   //��Ӧ��
#define SIMULATED_IIC_2_INVALID_ACK 2U //��Ч��Ӧ���ź�(Ӧ���źŻ�δ�յ�)

/******************************************************************************
���Ŷ���
******************************************************************************/

//#define SIMULATED_IIC_2_SCL          GPIO_PORTC_OUT_PIN05  //SCL�ź�
//#define SIMULATED_IIC_2_SCL_DIR      GPIO_PORTC_DIR_PIN05  //SCL����
//#define SIMULATED_IIC_2_OUT_SDA      GPIO_PORTC_OUT_PIN06  //SDA�ź�
//#define SIMULATED_IIC_2_IN_SDA       GPIO_PORTC_IN_PIN06
//#define SIMULATED_IIC_2_SDA_DIR      GPIO_PORTC_DIR_PIN06  //SDA����

/******************************************************************************
��������
******************************************************************************/
void Simulated_IIC_2_Init(void);
void Simulated_IIC_2_Start(void);
void Simulated_IIC_2_Stop(void);
void Simulated_IIC_2_Transmit_Data(uint8_t Data);
uint8_t Simulated_IIC_2_Receive_Data(void);
void Simulated_IIC_2_Transmit_ACK(uint8_t ACK);
uint8_t Simulated_IIC_2_Receive_ACK(void);
void Simulated_IIC_2_Delay(void);

#endif