Hallo Stefan,

Natürlich gibt es einen Code zu der Appnote, sorry, ich habe Dir den falschen Link kopiert ...
http://atmel.com/dyn/resources/prod_...nts/AVR310.zip
Es ist zwar IAR C , es sollte aber normallerweise kein Problem sein Assembler
daraus zu machen, wenn nicht sag nochmal bescheid , dann helfe ich Dir gerne.

Ja das Dattenblatt ist wirklich zum Ko*** was USI angeht, ohne Appnote hätte ich es auch nicht geschafft.
So initialisiere ich z.B. den slave:
Code:
usi_twi_slave_init:
	in tmp,USI_PORT
	ori tmp,(1<<USI_SCL)|(1<<USI_SDA)
	out USI_PORT,tmp
	sbi USI_DDR,USI_SCL
	ldi tmp,(1<<USISIE)|(1<<USIWM1)|(1<<USICS1)
	out USICR,tmp
	ldi tmp,0xF0
	out USISR,tmp
	ret
Man beachte, daß der SCL Pin als Ausgang gesetzt wird was für mich komisch ist, weil der Slave eigentlich den SCL als Eingang nutzen sollte.

Am sonsten klappt das ganze an sich gut, Master fährt mit 400 kHz der Tiny macht nebenbei noch Radencoder,Motorenansteuerung und eine einfache PI Regelung alles ohne Probleme.

Naja, versuch es bitte nochmal mit der Appnote, wenn es nicht klappt schauen wir mal, ich will bald einen Tiny 24 mit HP03 Drucksensor von Hope RF verheiraten, warum soll man nicht nebenbei einen USI Master implementieren.

Gruß Sebastian

P.S.
Auch im Simulator werden die Daten im Register nicht geshiftet und der Counter bleibt auf Null
Wenn Du AvrStudio Simulator meinst, vergiß es, das kann er nicht, steht aber auch irgendwo in der Help, es sei denn Du hast einen HW Debugger ala JTAG ICE mkII oder Dragon.