Pro II: SPI-Schnittstelle
P2_SPI_Slave_InFifo_Read
456
I n d e x i m F e l d
array[]
Bitlänge
+ 17
Nachricht 18 Nachricht 9,
array_idx
Berücksichtigen Sie bei einer SPI-Bitlänge größer 32 Bit, dass
•
in einer SPI-Nachricht 32 Bit-Werte immer paarweise verwendet
werden.
•
in
erst die unteren, dann die oberen 32 Bit einer
array[]
SPI-Nachricht gespeichert werden.
Wenn der Eingangs-Fifo voll ist und neue SPI-Nachrichten eingehen, werden
sie nicht gespeichert und gehen damit verloren.
Siehe auch
P2_SPI_Config, P2_SPI_Slave_Config, P2_SPI_Slave_OutFifo_Write,
SPI_Slave_OutFifo_Empty, P2_SPI_Slave_InFifo_Full,
Fifo
Gültig für
SPI-2-D Rev. E, SPI-2-T Rev. E
Beispiel
#Include
ADwinPro_All.inc
#Define
mod_no
4
#Define
slave_no
Dim
array[100]
As Long
Dim
index
As Long
Init:
P2_SPI_Mode(mod_no, 2)
Rem CPOL = 0, CPHA = 1; Nachrichtenlänge 8 Bit
P2_SPI_Config(mod_no, slave_no, 1, 8, 0, 0)
P2_SPI_Slave_Config(mod_no, slave_no, 0)
index
=
1
Event:
Par_1
= P2_SPI_Slave_InFifo_Full(mod_no, slave_no)
If
(Par_1
> 0)
Then
Rem eine SPI-Nachricht lesen
P2_SPI_Slave_InFifo_Read(mod_no, slave_no, Par_1, array,
index)
index
=
index
If
(index
> 100)
EndIf
Ohne Anzahl
übertragener Bits
Bitlänge
1...32
33...64
oberes Wort
1
'2 Slave-Schnittstellen
+
Par_1
Then
index
=
1
ADwin-Pro II Software, Handbuch Apr. 2021
ADwin
Mit Anzahl
übertragener Bits
Bitlänge
Bitlänge
1...32
33...64
SPI-Nach-
Nachricht 6,
richt 9
oberes Wort
P2_
P2_SPI_Slave_Clear_