.


:




:

































 

 

 

 


SPI




 

- SPI (Serial Peripheral Interface), Mega, . -, SPI , , () , , -, SPI , SPI. . , , (master). , , (slave). . .

SPI AVR-.

SPI:

,

(Idle)

() SPI (CK/2)


() CPU SPI . 2.26. . SPI SS , . ( ) , SCK. MOSI , MISO, , . SPI SS ( ).

SPI (), SS . . SPI 8- . SPI , (SPIF). SPIE SPCR, SPI . , SPDR, SS. . , SPI , MISO , , SS . SPI (SPDR), SS. , , SPIF. SPI (SPIE) SPCR, SPIF . SPDR . .

, . , SPI, . , SPI, . .

SPI SCK. SPI fosc/4.

SPI , MOSI, MISO, SCK SS (. . 2.48).

2.48. SPI

SPI SPI
MOSI
MISO
SCK
SS

 

. . B, , SPI.

 

SPI .

; ;SPI

.include m128def.inc

;*********************************************************

 

.DSEG

var1:.BYTE 5; 5 var1

 

.CSEG

ldi r30,low(var1); Z

ldi r31,high(var1); Z

ld r1,Z; VAR1 r1

;

 

ldi r16,high(ramend)

out sph,r16

ldi r16,low(ramend)

out spl,r16

mm11:

Ldi r18,$05;

; MOSI (PB2) SCK (PB1) ,

;

ldi r16,(1<<PB2)|(1<<PB1)

out DDRB,r16

 

; SPI , ;fck/16

ldi r17,(1<<SPE)|(1<<MSTR)|(1<<SPR0)

out SPCR,r17

SPI_MasterInit:

Ld r16,Z+

Call SPI_MT

dec r18

Brne SPI_MasterInit

rjmp mm11

; (r16)

SPI_ MT:

out SPDR,r16

Wait_Transmit:

sbis SPSR,SPIF;

rjmp Wait_Transmit

ret

 

 





:


: 2016-11-02; !; : 928 |


:

:

,
==> ...

1519 - | 1503 -


© 2015-2024 lektsii.org - -

: 0.008 .