Forum: Mikrocontroller und Digitale Elektronik Portpins an Funktion übergeben für soft spi


von Yvonne J. (laserlight)


Lesenswert?

Hi,

ich nutze mehrere unterschiedliche serielle Komponenten, sie haben eines 
gemeinsam, sie werden alle mit daten "vollgestopft" üder SPI (Daten 
anlegen,Clock auslösen) nächstes Bit.

Ich suche nach einer Funktion der man den Portpin übergeben kann, damit 
ich soft spi mehrmals nutzen kann...

Gruß,
Yve

von Peter D. (peda)


Lesenswert?

Yvonne J. schrieb:
> Ich suche nach einer Funktion der man den Portpin übergeben kann, damit
> ich soft spi mehrmals nutzen kann...

SW-SPI belegt die CPU zu 100%. Es hat also keinen Sinn, mehrere SW-SPI 
zu machen.
Einfach jedem SPI-Slave nen eigenen Select-Pin spendieren und gut is.

Prinzipiell kannst Du beim AVR ganze Portbytes auch per Pointer 
zugreifen und davon einzelne Bits per AND/OR umständlich ausmaskieren.
Das ist dann aber deutlich langsamer und codefressender als die 
Bitbefehle.


Peter

von Falk B. (falk)


Lesenswert?

Kommt es mir nur so vor oder erobern jetzt deutlich mehr Frauen 
Mikrocontroller.net? Oder sind es doch nur weibliche Nicknames, damit 
eine mildere Behandlung bei latenter Begriffsstutzigkeit erfolgt?

Fragende Grüße
Falk

von Yvonne J. (laserlight)


Lesenswert?

..was die Menge angeht liegts du fast richtig, nur das es ein und die 
selbe Frau ist der du antwortest, aber MAN N kann ja nicht auf alles 
achten :-)


@Peter
nicht alle meine Devices haben einen CS Pin!

SHT11 und MCP4922 sind die Kandidaten die ich über einen Kamm scheren 
möchte...

Yve

von H.Joachim S. (crazyhorse)


Lesenswert?

dann bau noch ein 2-Eingangs-AND-Gatter in die clk-Leitung zum SHT ein.
quick&dirty: bei moderaten Taktraten tut es auch ein Widerstand, nach 
dem Widerstand noch einen Portpin dran. Hochohmig -> Taktsignal kommt 
an, Portpin auf low -> SHT bekommt keinen Takt mehr.

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.