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:
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.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
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.
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.Auch im Simulator werden die Daten im Register nicht geshiftet und der Counter bleibt auf Null







Zitieren

Lesezeichen