Ich habe hier einen USI slave seit paar Monaten auf einem Tiny24 laufen, ich prüfe auch den USIPF, kann aber keine Probleme feststellen.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?
Der Slave rennt um sein Leben
Hier mal mein USI_STRaddr Interrupt:
Gruß SebastianCode: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
P.S. Achso, als Master habe ich bis jetzt Hardware Twi von m8 m16 und m128 gehabt.







Zitieren

Lesezeichen