Forum: Mikrocontroller und Digitale Elektronik ATtiny4312 im MSPIM -Modus


von Oz z. (ozzy)


Lesenswert?

Moin,

ich möchte gerne einen SPI-SPI-"Wandler" bauen, und habe mich hierbei 
für einen ATtiny4312 entschieden, da dieser bis zu 20Mhz taktbar ist. 
Nun würde ich gerne, wie im Datenblatt beschrieben, den USART im 
SPI-Modus benutzen. Hier steht auf Seite 146:
"Setting both UMSEL1:0 bits to one enables the USART in MSPIM logic."
Ok, das klingt einfach.
Auf Seite 149 ist dann auch gleich noch einmal ein Beispiel:
1
; Set MSPI mode of operation and SPI data mode 0.
2
ldi r18, (1<<UMSEL1)|(1<<UMSEL0)|(0<<UCPHA)|(0<<UCPOL)

Nun probiere ich das ganze im AVRStudio (Version 4.19, Build 730), und 
das meckert, dass es UMSEL1 und UMSEL0 nicht kennt. Also mal 
reingeschaut in die "tn4313def.inc", und diehe da, da steht auch nur 
".equ  UMSEL  = 6  ; USART Mode Select".
Wenn ich ein
1
ldi   R16, (3<<UMSEL)
2
out   UCSRC, R16
dann meckert der Compiler wenigstens nicht. Beim simulieren sieht man, 
dass das vordere Bit im UCSRC grau hinterlegt und, und an Bitstelle 6 
auch nur UMSEL steht. Schreibt man dann die 0XC0 von oben rein, dann 
steht die da auch drin, allerdings wird nie das RXC-Bit im UCSRA 
gesetzt.

Kann mir jemand von Euch sagen, ob das nur im Simulator so in die die 
Grütze geht, und ob das in der Realität dann doch funktioniert? Sonst 
muss ich nämlich einen anderen Chip auswählen (habe noch nichts 
bestellt...)

Vielen Dank und viele Grüße
Christoph

von MWS (Gast)


Lesenswert?

Du kannst sowohl
Atmel\AVR Tools\AvrAssembler2\Appnotes\tn4313def.inc
als auch
Atmel\AVR Tools\Partdescriptionfiles\ATtiny4313.xml
entsprechend anpassen.
Dann ist auch nix mehr ausgegraut. Laut Datenblatt gibt's auch kein 
UCPHA, sondern nur UCSZ1..0

von JoBlack (Gast)


Lesenswert?

Hi MWS,
kannst bitte bisschen ausführliche beschreiben, was soll man da ändern?
Ich bedanke mich im Voraus.

von Oz z. (ozzy)


Lesenswert?

Moin,

ich habe die Dinge geändert und auch ATmel schon eine Mail geschrieben; 
sie fixen das in der nächsten 5er Version.
Was für Infos benötigst Du denn?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.