140
ATmega8535(L)
2502K–AVR–10/06
The following code examples show how to initialize the SPI as a Slave and how to per-
form a simple reception.
Note:
1. See “About Code Examples” on page 7.
Assembly Code Example
SPI_SlaveInit:
; Set MISO output, all others input
ldi
r17,(1<<DD_MISO)
out
DDR_SPI,r17
; Enable SPI
ldi
r17,(1<<SPE)
out
SPCR,r17
ret
SPI_SlaveReceive:
; Wait for reception complete
sbis
SPSR,SPIF
rjmp
SPI_SlaveReceive
; Read received data and return
in
r16,SPDR
ret
C Code Example
void
SPI_SlaveInit(
void
)
{
/* Set MISO output, all others input */
DDR_SPI = (1<<DD_MISO);
/* Enable SPI */
SPCR = (1<<SPE);
}
char
SPI_SlaveReceive(
void
)
{
/* Wait for reception complete */
while
(!(SPSR & (1<<SPIF)))
;
/* Return Data Register */
return
SPDR;
}
Содержание ATmega8535
Страница 314: ...314 ATmega8535 L 2502K AVR 10 06 ...
Страница 320: ...vi ATmega8535 L 2502K AVR 10 06 ...