Während der Anpassungen des Buches an Raspbian Stretch mussten wir feststellen, dass die SPI-Kommunikation nicht wie gewohnt funktionierte. Seit der Kernelversion 4.9.43 kann mit folgender Zeile, nach Initialisierung der SPI-Schnittstelle, das Problem behoben werden: spi.max_speed_hz = 5000
. Hierdurch wird die Taktfrequenz des Serialclock-Signals auf 5 kHz begrenzt. Die Ursache für diese notwendige Änderung ist uns auch noch nicht ganz klar. Möglicherweise wird dieses Problem mit einem späteren Update der spidev
-Bibliothek behoben.
Es ist möglich, dass die Geschwindigkeit abhängig vom verwendeten Baustein angepasst werden muss. In unseren versuchen funktionierten die 5 kHz jedoch zuverlässig. Sie finden die Core Frequency in dem Datenblatt des jeweiligen Bauteils. Sie können auch anderen Maximalfrequenzen vorgeben. Dazu ist diese Übersicht sehr hilfreich.
Sollten Ihnen weiterführende Informationen zu diesem Thema über den Weg gelaufen sein, lassen Sie es uns gerne in den Kommentaren wissen.
Ein funktionierender Programmkopf ist nun z.B. folgender:
#!/usr/bin/python3
import spidev
import time
spi = spidev.SpiDev()
spi.open(0,1)
spi.max_speed_hz = 5000
Hallo,
besten Dank für die Info. Das aktuelle Raspbian vom 27.06.18 verwendet die Version 4.19.50 . Ist damit das Problem erledigt?
Pofoklempner
Sorry,
es muss natürlich 4.9.50+ heißen. Bei der neuen Raspbian-Version vom 27.06.18 fehlt auch einiges an Software. So z.B. Claws-Mail, Greenfoot, Blue J und Node-RED.
Pofoklempner
Hallo,
ab 5.07.18 ist der aktuelle Kernel des Raspbian der 4.14.50+.
Pofoklempner