Titelbild Mikrocontroller

14.1.3. SPCR – SPI Control Register

SPCR Register des ATmega8

SPCR Register des ATmega8


Bit 7 – SPIE: SPI Interrupt Enable

Wenn dieses Bit mit einer 1 beschrieben wird, ist der Interrupt des SPI freigegeben. Der Interrupt wird ausgeführt, wenn das I-Bit im SREG gesetzt ist und das SPIF Flag im SPSR Register gesetzt wird.

Bit 6 – SPE: SPI Enable

Wenn dieses Bit mit einer 1 beschrieben wird, ist das SPI freigegeben. Es muss gesetzt werden um alle SPI Operationen freizugeben.

Bit 5 – DORD: Data Order

Wenn dieses Bit mit einer 1 beschrieben ist, werden die Daten mit dem LSB voran übertragen. Wenn dieses Bit gelöscht ist, werden die Daten mit dem MSB voran übertragen.

Bit 4 – MSTR: Master / Slave Select

Wenn dieses Bit mit einer 1 beschrieben ist, ist der Mastermodus ausgewählt, wenn es gelöscht ist, arbeitet die SPI im Slave Modus. Wenn SS als Eingang konfiguriert ist und im Mastermodus auf Low gezogen wird, wid das MSTR Bit gelöscht und das SPIF im SPSR wird gesetzt. Der Anwender muss dann das MSTR Bit wieder setzen um den Mastermodus erneut einzuschalten.

Bit 3 – CPOL: Clock Polatity

Wenn dieses Bit mit einer 1 beschrieben ist, ist SCK auf High, wenn er nicht benutzt wird. Ist das Bit gelöscht, so ist SCK auf Low, wenn er nicht benutzt wird. Siehe Timingdiagramme. Zusammengefasst ist die CPOL Funktion wie folgt:
CPOL 0 1
Erste Flanke steigend fallend
Folgende Flanke fallen steigend


Bit 2 – CPAH: Clock Phase

Dieses Bit legt fest, ob die Daten mit der ersten oder der folgenden Flanke des SCK abgetastet werden. Siehe Timingdiagramme. Zusammengefasst ist die CPAH Funktion wie folgt:
CPAH 0 1
Erste Flanke abtasten einstellen
Folgende Flanke fallen einstellen


Bit 1, 0 – SPR1, SPR0: SPI Clock Rate Select 1 und 0

Dieses beiden Bits kontrollieren die Taktrate SCK des Bausteins wenn er im Mastermodus arbeitet. SPR1 und SPR0 haben keine Auswirkungen im Slavemodus. Die Beziehung zwischen SCK und der Oszillator Taktfrequenz fOSC ist nachfolgend dargestellt:
SPI2X SPR1 SPR0 SCK Frequenz
0 0 0 fOSC/4
0 0 1 fOSC/16
0 1 0 fOSC/64
0 1 1 fOSC/128
1 0 0 fOSC/2
1 0 1 fOSC/8
1 1 0 fOSC/32
1 1 1 fOSC/64


Das SPI2X Bit befindet sich im SPI Status Register (SPSR)
Impressum