Datasheet

Table Of Contents
133
ATmega32A [DATASHEET]
Atmel-8155D-AVR-ATmega32A-Datasheet_02/2014
Bit 4 – MSTR: Master/Slave Select
This bit selects Master SPI mode when written to one, and Slave SPI mode when written logic zero. If SS
is config-
ured as an input and is driven low while MSTR is set, MSTR will be cleared, and SPIF in SPSR will become set.
The user will then have to set MSTR to re-enable SPI Master mode.
Bit 3 – CPOL: Clock Polarity
When this bit is written to one, SCK is high when idle. When CPOL is written to zero, SCK is low when idle. Refer
to Figure 18-3 and Figure 18-4 for an example. The CPOL functionality is summarized below:
Bit 2 – CPHA: Clock Phase
The settings of the Clock Phase bit (CPHA) determine if data is sampled on the leading (first) or trailing (last) edge
of SCK. Refer to Figure 18-3 and Figure 18-4 for an example. The CPHA functionality is summarized below:
Bits 1, 0 – SPR1, SPR0: SPI Clock Rate Select 1 and 0
These two bits control the SCK rate of the device configured as a Master. SPR1 and SPR0 have no effect on the
Slave. The relationship between SCK and the Oscillator Clock frequency f
osc
is shown in the following table:
19.3.4 SPSR – SPI Status Register
Bit 7 – SPIF: SPI Interrupt Flag
When a serial transfer is complete, the SPIF Flag is set. An interrupt is generated if SPIE in SPCR is set and global
interrupts are enabled. If SS
is an input and is driven low when the SPI is in Master mode, this will also set the SPIF
Table 19-2. CPOL Functionality
CPOL Leading Edge Trailing Edge
0 Rising Falling
1 Falling Rising
Table 19-3. CPHA Functionality
CPHA Leading Edge Trailing Edge
0 Sample Setup
1 Setup Sample
Table 19-4. Relationship Between SCK and the Oscillator Frequency
SPI2X SPR1 SPR0 SCK Frequency
000
f
osc
/4
001f
osc
/16
010
f
osc
/64
011
f
osc
/128
100f
osc
/2
101
f
osc
/8
110
f
osc
/32
111f
osc
/64
Bit 76543210
SPIF WCOL SPI2X SPSR
Read/Write RRRRRRRR/W
Initial Value00000000