Servus,
ich möchte einen MCP23S17 via wiringPI/gpio ansteuern (und später dann via Python, vorerst aber mal so simpel wie möglich). Das gelingt leider nicht:
#/bin/bash
CS=1 # CS=0
adr=0
for pin in `seq 100 115` ; do
gpio -x mcp23s17:$pin:$CS:$adr mode $pin out
gpio -x mcp23s17:$pin:$CS:$adr write $pin 1
done
Alles anzeigen
Das Shellskript läuft fehlerfrei durch, LEDs leuchten aber keine.
Der "Software-SPI" von Erik Bartmann [1] klappt, aber das ist wohl mehr ein Demonstrationsbeispiel wie so ein Bus grundsätzlich funktioniert als für einen robusten Betrieb geeignet. Ebenfalls funktioniert dieser Code [2], der direkt auf /dev/spidev0.? zugreift. Auch Direktzugriff via xfer klappt:
#!/usr/bin/python
import spidev
from time import sleep
spi = spidev.SpiDev()
spi.open(0,0)
spi.xfer2([0x40,0x01,0x00])
while True:
spi.xfer2([0x40,0x13,0xFF])
sleep(0.1)
spi.xfer2([0x40,0x13,0x00])
sleep(0.1)
Alles anzeigen
Hat jemand eine Idee, woran es liegen könnte, dass ausgerechnet wiringPi nicht funktioniert? Ich weiß nicht, welche zusätzliche Info bei der Lösung hilft, daher ein paar Eckdaten:
* frisch installierte wheezy (2015-05-05)
* frisch installiertes wiringPi
* Linux pic 3.18.11+ #781
* Das SPI-Modul wird geladen, /dev/spidev0.? sind vorhanden.
Das ganze soll mal eine analoge Uhr mit LEDs werden; siehe [3].
Danke und liebe Grüße, Thomas
[1] http://erik-bartmann.de/component/atta…ownload/23.html
[2] http://www.gsurf.de/raspberry-pi-e…spi-und-python/
[3] https://github.com/thomaspfeiffer…/analogledclock