Hi,
ich komme nicht so recht mit Raspberry Pi, GPIO und Hardware SPI mit
spidev klar.
Den Aufbau auf dem Schaltbrett, Fritzing, hänge ich an (sorry für keinen
Schaltplan). Auch den hingehusteten Testcode.
Kurz: Der Output an zwei 74HC595 funktioniert soweit. Es blinkt wie es
blinken sollte, die Taktfreqenz auf SCK passt, auch für die 597er. Mein
Programm druckt für die 74HC597 aber fleißig
[255,255]
...
aus, egal ob ich die Input-Pins des 597 auf +3.3V ziehe.
Hieraus ergeben sich zig Fragen für mich... erstmal eine Bitte: Ist der
Schaltungsaufbau für Input, 597, okay? Ich verstehe das Datenblatt so,
dass ich den PL konstant auf GND setzen kann und MR sowieso auf HIGH,
wenn ich keinen Reset will.
Hier der Code:
1 | import time
|
2 | import spidev
|
3 |
|
4 | tzustandswechsel = 0.2
|
5 |
|
6 | #main program
|
7 | spi = spidev.SpiDev()
|
8 |
|
9 | noKeybInt = True
|
10 | while noKeybInt:
|
11 | try:
|
12 | spi.open(0,1)
|
13 | resp = spi.xfer([0x00,0x00],10000) #uebertrage 16bit Nullen bei 10000Hz pro byte
|
14 | time.sleep(tzustandswechsel)
|
15 | resp = spi.xfer([0x0E,0x0E],10000)
|
16 | time.sleep(tzustandswechsel)
|
17 | spi.close()
|
18 | spi.open(0,0)
|
19 | inp = spi.readbytes(2)
|
20 | print (str(inp))
|
21 | spi.close()
|
22 | except KeyboardInterrupt:
|
23 | spi.close()
|
24 | noKeybInt = False
|
Schade das es hier kein [python] gibt für Code... aber für die paar
Zeilen wurscht.
Die Schaltung müsste denke ich funktionieren... !? Seltsam finde ich bei
spi.readbytes(...) das ich anscheinend keine Taktfrequenz für SCK
angeben kann...
Danke für Hinweise!
LG