Hi, ich möchte gerne ein Programm auf dem Raspberry Pi entwerfen, dass
gleichzeitig einige IO-Pins ansteuern kann (Pin 18 und Pin 22), dazu
parallel noch den SPI-Port benutzt.
Ich programmiere in Python und verwende die Bibliotheken spidev und
RPi.GPIO.
Jedes für sich alleine funktioniert, aber nicht beides zusammen:
verkürztes Beispiel:
1 | import spidev
|
2 | import RPi.GPIO as GPIO
|
3 |
|
4 | GPIO.setmode(GPIO.BCM)
|
5 | spibus = spidev.SPIDEV(...)
|
6 |
|
7 | GPIO.setup(18, GPIO.OUT)
|
8 | GPIO.setup(22, GPIO.OUT)
|
Vorher hatte ich beide Teile einzeln. Ich habe einen AD-Wandler am
SPI-Port, mit dem ich kommunizieren konnte und ich schalte einen
Transistor jeweils an den Pins 18 und 22. Nun wollte ich beides
kombienieren - wenn ich aber die GPIO-Bibliothek geladen habe,
funktioniert die SPI-Schnittstelle nicht mehr und ich verstehe nicht,
woran das liegen kann. Meine Vermutung ist, dass einige der Pins für die
SPI-Kommunikation auch von GPIO verwendet werden. Jedoch initialisere
ich nicht alle GPIO-Ports mit GPIO.setup, sondern nur die beiden, die
ich brauche - und die sind nicht MISO/MOSI/CS0/CS1/Clock .
Kann mir jemand von Euch helfen?