Hi,

danke für deinen Code, er hat mir einiges gebracht.

leider funktioniert das ganze immernoch nicht.

Ich habe mitlerweile den Bustakt auf 40khz (fast minimum) runtergedreht. und mehrere wait schleifen eingebaut, damit alles schön langsam ist.

Mein erfolg ist immerhin, dass meine Slave seine adresse erkennt, aber kein ACK zurücksendet.

Meine routine um ein ACK zu senden habe ich von dir übernommen:
Code:
sende_ACK:
	cbi	PORTB,0 			;prepare to send "0" on SDA
	sbi	DDRB,0				;setup the SDA line as output

	rcall Timer_1Bit		;timer für ACK zurückstellen
	ret
Code:
Timer_1Bit:
	ldi temp1,0xee
	out USISR,temp1			;timer für ACK zurückstellen und flags löschen
	ret
Als master verwende ich eine Mega 168 mit hadware TWI, je 10k pullups an SDA und SCL.