Hallo,

mit dieser Zeile sollte wohl ein Start gesendet werden:
Code:
TWCR=(1<<TWSTA);
aber hier wird das ganze TWI wieder deaktiviert, denn alle anderen Bits sind danach wieder 0 !

Man sollte hier auch die Werte für TWCR direkt selber setzen und nicht mit dem alten wert verodern, nur so:
Code:
TWCR = (1<<TWSTA)|(1<<TWINT)|(1<<TWEN);
Du musst Dir die ganze Beschreibung zu TWI reinziehen, sonst kommt da nix gescheites raus dabei.