Hi,
ich hatte I2C immer in ASM für Slave-PICs programmiert. Die Sachen in C sind mir nicht so geläufig.
Hier aber eine gute PIC Seite: http://www.sprut.de/electronic/pic/grund/i2c.htm

Irgendwie habe ich das Gefühl, Du hast Deine Adressangabe falsch gemacht:


const Slave_Addy = 0x69;
void send(unsigned short send_data)
{
I2C1_Init(100000);
I2C1_Start();
I2C1_Wr(Slave_Addy); <----- Wird hier verwendet!!!!
I2C1_Wr(send_data);
I2C1_Stop();
Hier ist das Bit 0 in der Addresse gesetzt und sagt aus, das es sich um einen Lese Befehl handelt.

Prüfe Deine Adressen nochmals.

Gruss R.