
unsigned char I2C_Read (unsigned char Data)
{
	unsigned char Bit_Cnt;
	
	Data = 0x00;

	for (Bit_Cnt = 0; Bit_Cnt < 8; Bit_Cnt++)
	{
		Data |= I2DAT;
	
	// Receive MSB first
	
		Data = Data << 1 ;

	// Rotate left

		while (!ATN){}

	// Pool ATN flag

		if (!DRDY)
		{
			Fault = 1;
			break;
		}

	}

	Data |= I2CON << 8;

	// Get last bit in the I2CON reg 
 
	I2DAT = 0x80;

	// Send Ack bit

	while (!ATN){}

	if (!DRDY)
	{
		Fault = 1;

	}
	return (Data);
}
