Hat jemand eine Erklärung für dieses unerwartete Verhalten? Kann das eine Störung sein, die man am Oszi nicht sieht? Oder ist das ein bekannter Fehler mit dem Stop-Condition Bit (USIPF) im USISR (USI Status Register?
Ich habe hier einen USI slave seit paar Monaten auf einem Tiny24 laufen, ich prüfe auch den USIPF, kann aber keine Probleme feststellen.
Der Slave rennt um sein Leben

Hier mal mein USI_STRaddr Interrupt:
Code:
usi_start:
	in sregret,SREG
	in tmpi1,USISR
	ldi USI_TWI_OVERFLOW_STATUS,USI_SLAVE_CHECK_ADDRESS
	cbi USI_DDR,USI_SDA
usi_start1:
	sbrc tmpi1,USIPF
	rjmp usistart2
	sbic USI_PIN,USI_SCL
	rjmp usi_start1
usistart2:
	ldi tmpi1,(1<<USISIE)|(1<<USIOIE)|(1<<USIWM1)|(1<<USIWM0)|(1<<USICS1)
	out USICR,tmpi1
	ldi tmpi1,(1<<USISIF)|(1<<USIOIF)|(1<<USIPF)|(1<<USIDC)
	out USISR,tmpi1
	out SREG,sregret
	reti
Gruß Sebastian

P.S. Achso, als Master habe ich bis jetzt Hardware Twi von m8 m16 und m128 gehabt.