//Master Receiver Mode

unsigned char i2c_read(char adress)
{
	unsigned char read_data = 0;

	TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);  	//TWI einschalten, START senden, TWINT löschen
	while  (!(TWCR & (1<<TWINT)))					// Warte bis START gesendet ist

	TWDR = (adress<<1) + TW_READ;					//Master Receive Mode aufrufen, Adresse + Readbit
	TWCR = (1<<TWINT) | (1<<TWEN);					//Adresspaket senden

	while (!(TWCR & (1<<TWINT)))					//Warten auf ACK oder NACK

	read_data = TWDR;
									//Daten lesen
	while (!(TWCR & (1<<TWINT)))

	TWCR = (1<<TWINT)|(1<<TWEN)| (1<<TWSTO);		//STOP senden
	while (!(TWCR & (1<<TWINT)))				//warten bis STOP gesendet
		
	return read_data;
}


//main für Master Receive Mode

int main()
{
	UART_Init();
	

	unsigned char zahl=0;

	while(1)
	{
		
		zahl = i2c_read(0b110);	
		UART_SendByte(zahl);

	
	}

}

