Forum: Mikrocontroller und Digitale Elektronik Software SPI


von Christian B. (chris001)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich bin mich eben mal mit Soft-SPI am beschäftigen.
Aber es will noch nicht so ganz. Im Anhang meine beiden Programme.
Einmal senden und einmal empfangen.

Gesendet soll das byte x werden, was immer um eins größer wird.

Das soll dann empfangen werden und dann übers LCD angezeigt.
Die Ausgabe im LCD springt nur von 0 nach 255 und zurück!

Danke schon mal!

Christian

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Beim SPI-Slave hat der Slave-Select-Eingang eine sehr elementare 
Bedeutung: Er synchronisiert die Übertragung eines Wortes. Was sagt die 
Doku dazu, dass du da ss=none schreibst?

von Christian B. (chris001)


Lesenswert?

A! Ja!

So hab ich geändert. Geht aber immer noch nicht!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Christian Betzen schrieb:
> So hab ich geändert. Geht aber immer noch nicht!
Wenn deine Verdrahtung passt, dann brauchst du jetzt so langsam ein 
passendes Messgerät: ein Oszilloskop wäre nicht ohne...

von Karl H. (kbuchegg)


Lesenswert?

Hmm
Ich weiß ja nicht, wie sehr du der BASCOM Doku traust.
Aber in der Online Help hab ich bei CONFIG SPI  das hier gefunden
1
SPI = SOFT
2
3
for software emulation of SPI, this allows you to choose the PINS to use. Only works in master mode.
4
5
    = HARD for the internal SPI hardware, that will use fixed pins of the microprocessor.

Das 'only works in master mode' macht mich stutzig.
Und ich denke mal, wenn überhaupt jemand weiß, ob und wie das geht, dann 
ja doch wohl der Hersteller.

von Christian B. (chris001)


Lesenswert?

Hallo Lothar!

Oszilloskop hab ich aber leider keins.
Ich gehe aber davon aus das die Verdrahtung i.o. ist weil wenn ich den 
Master
auf reset lege hört das umspringen der Anzeige auf. D.h. es wird nichts 
mehr gesendet.

Aber nochmal schnell zu der sache mit dem ss=none!

Im Slave steht jetzt:

Config Spi = soft , Din =Pinb.0 , Dout =Portb.1 , Ss =Portb.2 ,  Clock 
=Portb.5

und im Master steht:

Config Spi = Soft , Din =Pinb.7 , Dout =Portb.6 ,ss = none, Ss =Portb.2 
, Clock =Portb.5

Ist das so OK?

Ich habe die Pins 1 zu 1 verbunden. Also din an din, dout an dout ss an 
ss und clock an clock.

von Christian B. (chris001)


Lesenswert?

Hallo Karl Heinz!

Stimmt. D.h. ich muss beim Slave die pins der Hardware SPI benutzen und 
die Zeile mit dem Config SPI kann ich mir hier sparen.

Oder?

Die Bascom Hilfe ist schon ok. Aber wenn man nicht weiß wie es geht steh 
ich da schon mal auf m Schlauch!

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.