2016-07-13 31 views
3

Ich habe einen Raspberry Pi 2, Modell B, und ich möchte den SPI verwenden, um mit einem anderen Pi zu sprechen (für später für mehr SPI-Geräte zu verwenden). Ich würde auch gerne WiringPi für C-Codierung meines Programms verwenden.Raspberry Pi 2, wie device_tree zu SPI zu deaktivieren?

Ich dachte, ich würde sicherstellen, ich hatte alles, was ich brauchte, so lief ich ein vollständiges Upgrade:

sudo apt-get update && sudo apt-get upgrade -y 

I WiringPi installiert und SPI ermöglicht wird, von raspi-config geladen werden, aber ich kann immer noch nicht tun gpio load SPI ohne den folgenden Fehler:

gpio: Unable to load/unload modules as this Pi has the device tree enabled. 
    You need to run the raspi-config program (as root) and select the 
    modules (SPI or I2C) that you wish to load/unload there and reboot. 
    There is more information here: 
    https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=97314 

ich habe dann versucht, was the link suggested:

... add "device_tree=" to your config.txt and reboot.

$ nano sudo /boot/config.txt 
# Go to last line 
# Add 'device_tree=' 
# Save, and exit 
$ sudo reboot 

Dann habe ich versucht gpio load spi, aber ich bekomme immer noch den gleichen Fehler.

SPI wird in /boot/config.txt aktiviert:

$ cat /boot/config.txt | grep spi 
dtparam=spi=on 

Haben Sie von Ihnen Vorschläge, was ich versuche, meine SPI zu aktivieren?

+0

* "Ich möchte den SPI verwenden, um mit einem anderen Pi zu sprechen" * - Wahrscheinlich eine schlechte Idee. (1) Elektrisch SPI ist für eine Chip-zu-Chip-Kommunikation mit kurzer Entfernung auf derselben Platine vorgesehen und nicht für die Kommunikation zwischen Platinen gedacht. Das heißt nicht, dass es nie getan wurde. Erwarten Sie keine zuverlässigen Übertragungsraten von Megabit pro Sekunde. (2) Linux (mindestens bis Version 4.6) unterstützt den SPI-Slave-Modus nicht. Sie müssen also einen Gerätetreiber finden oder schreiben, um einen der SPI-Controller im Slave-Modus zu betreiben. – sawdust

+0

Es macht wahrscheinlich mehr Sinn, eine einfache Hardware in die Mitte zu legen, damit Sie beide Enden im SPI Master-Modus betreiben können. Es scheint SPI-zu-UART-Module zu geben, die den Trick machen könnten. –

+0

OP, haben Sie Ihr Problem gelöst? Ich habe genau das gleiche Problem. –

Antwort