Hallo allerseits!

Ich arbeite gerade an der Verbindung(I2C) zwischen einem PIC(PIC18f87j11) und einem Temperatursensor(Tmp100na).

Die beiden Busleitungen arbeiten beim senden korrekt aber sobald ich versuche etwas zu empfangen bekomme ich als erstes Byte den zuletzt gesendeten Wert wieder und dann kommt nichts mehr und der PIC vergammelt in der warte schleife.

Code:
#include <p18f87j11.h>
#include<pic18.h>

#define _XTAL_FREQ 20000000
#pragma config XINST=OFF

void i2c_Wait(void)
{
    while (PIR1bits.SSP1IF == 0);
    PIR1bits.SSP1IF = 0;
}

void i2c_Restart(void)
{
 	i2c_Wait();
	SSP1CON2bits.RSEN=1;
}

void i2c_Write(unsigned char data)
{
        SSP1BUF = data;
        i2c_Wait();
}

void AcknI2C1(void)
{
  SSP1CON2bits.ACKDT = 0;            
  SSP1CON2bits.ACKEN = 1;           
}

unsigned char ReaI2C1(void)
{
  SSP1CON2bits.RCEN = 1; 
  i2c_Wait();
  return ( SSP1BUF );
}

void main(void)
{
       	SSP1STAT = 0b11000000;
	TRISC=0b00011000;     
	OSCCON = 0b01111010;
	SSP1CON1 = 0b0001000;
	SSP1CON1bits.SSPEN=1
        SSP1CON1bits.SSPEN1=1;
        SSPADD = 12;

        while(1)
        {
//Senden
            PIR1bits.SSP1IF = 0;
            SSP1CON2bits.SEN = 1;
            i2c_Wait();
            i2c_Write(0b10010010);
            i2c_Write(0b00000000);
            i2c_Write(0b10010010);
            SSP1CON2bits.PEN=1;

//Empfangen

          unsigned char tmp1;
          unsigned char tmp2;

          tmp1 = ReaI2C1();
          AcknI2C1();
          tmp2 = ReaI2C1();
        }
    }
Ich verwende MPLABX / Xc8
Meine Vermutung liegt darin das der Fehler in der Initialisierung liegt aber ich hab bereits die Datenblätter von Sensor sowie von Controller mehrfach durchgelesen(den I2C-Part) und nichts gefunden...

Danke im voraus!