trotzdem vielen dank

kennt sich vielleicht einer der C-Programmierer unter euch mit dem TWI aus?
ich schildere nochmal kurz die momentane Lage:
der Aktivierungs-TWI-Code des Masters:
Code:
TWAR = 0xFD;	//TWI-Addresse des Masters festlegen
TWSR &= 0b11111100;	//Prescaler auf 1 setzen, Bit 1 und 0 auf 0
TWBR = 0xC;	//Bitrate auf 12 setzen
sei();		//Interrupts global aktivieren
der Code, den der Master ausführt, um Daten zu senden:
Code:
TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);   //START senden
while (!(TWCR & (1<<TWINT)));	//warten bis TWINT gesetzt
//wenn START gesendet, dann "1" an den PC senden
if ((TWSR & 0xF8) != 0x08) USART_transmit_string("1");
//Addresse des Slaves angeben
TWDR = 0xFE;
TWCR = (1<<TWINT) | (1<<TWEN);	//Addresse senden
while (!(TWCR & (1<<TWINT)));	//warten bis TWINT gesetzt
//wenn erfolgreich, 2 an PC senden
if ((TWSR & 0xF8) != 0x18) USART_transmit_string("2");
//0 ins Datenregister schreiben
TWDR = 0x0;
//Daten senden
TWCR = (1<<TWINT) | (1<<TWEN);
//warten bis TWINT gesetzt
while (!(TWCR & (1<<TWINT)));
//wenn erfolgreich, dann 3 an PC senden
if ((TWSR & 0xF8) != 0x28) USART_transmit_string("3");
//STOP senden
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
Slave-Init-Code:
Code:
TWAR = 0xFE;
TWCR = 0b11000101;
TWBR = 0xC;
TWSR &= 0b11111100;
sei();
dann soll bei einem Interrupt, eine LED eingeschaltet werden

nun zu den Symptomen:
1 wird nie gesendet
(der Rest nur, wenn der Slave-µC nicht mit dem Master verbunden ist)
der Rest wird auch nie gesendet

die LED beim Slave geht nie an

wenn der SlaveµC angeschlossen ist, bleibt der Master in der dritten Schleife "hängen", wenn der Slave nicht angeschlossen ist, bleibt der Master in keiner der drei Schleifen hängen, allerdings werden bei beiden Varianten nur NACKs empfangen, der Slave antwortet also nie

weiß jemand vielleicht, wo der Fehler zu suchen ist?

Edit: siehe Symptome