versuch mal, nicht rep-start in die endlosschleife zu packen.

mach mal

i2c_start(Adresse+I2C_READ);

while(1){

i2c_read(); //ohne NAK

}

(anpassen, hab das grad nur so getippt =)

vielleicht wirds dann besser.

leg mal alle pins gleichzeitig auf masse, was passiert dann?

und versuch mal PrintInt(integerwert); dann kannst du fehler bei der umwandlung in den string ausschliessen.