Hallo,
nur eine kurze Frage, da ich hier keine eindeutige Antwort gefunden
habe.
Wenn ich zwei Slaves über SPI ansteuern möchte, mache ich dies ja mit
den CE/SS/CS Leitungen. Beim Raspberry Pi hab ich hier z.B. zwei Stück
zu Verfügung.
Nun sind alle Codes nur für ein Slave. Wie sieht dies bei zwei Slaves
aus?
Variante a)
1 | import spidev
|
2 |
|
3 | #Initialze the SPI
|
4 | spi = spidev.SpiDev()
|
5 | (... code ...)
|
6 |
|
7 | # open spi port 0, device (CS) 0
|
8 | spi.open(0,0)
|
9 | (... code ...)
|
10 | spi.close()
|
11 |
|
12 | # open spi port 0, device (CS) 1
|
13 | spi.open(0,1)
|
14 | (... code ...)
|
15 | spi.close()
|
oder Variante b)
1 | import spidev
|
2 |
|
3 | #Initialze the SPI
|
4 | spi = spidev.SpiDev()
|
5 | (... code ...)
|
6 |
|
7 | # open spi port 0, device (CS) 0
|
8 | spi.open(0,0)
|
9 | (... code ...)
|
10 |
|
11 | # open spi port 0, device (CS) 1
|
12 | spi.open(0,1)
|
13 | (... code ...)
|
14 |
|
15 | spi.close()
|
Sprich vor allem gehts darum, muss ich vor jedem Spi.open ein close der
anderen Verbindung machen oder muss ich diese nur am Ende des Codes
machen. Über open(0, x) selektiere ich ja den Slave bzw. den chip
select.
Ich möchte am Ende über den Raspberry zwei Microcontroller nacheinander
steuerwörter übergeben (gleichzeitig geht ja leider nicht).
Gruß,
Elektrolyt