Forum: Mikrocontroller und Digitale Elektronik SPI GPIO Raspberry - spidev Python


von J. W. (ontheway)


Angehängte Dateien:

Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.