SPI und Digitalausgänge parallel nutzbar?

Hallo zusammen,

ich möchte bei meinem Projekt mit einem UNO V3 die Digitalausgänge und den SPI Bus unabhängig voneinander nutzen.
Unter SPI - Arduino Reference steht aber:

Uno or Duemilanove:
11 or ICSP-4
12 or ICSP-1
13 or ICSP-3

Ich lese das so, dass Digital OUT Pin 11 mit dem ICSP-4 am ICSP-Port verbunden ist.
Ich also entweder das eine oder das andere nutzen kann.

Sagt mir bitte, dass das nicht wahr ist :cold_sweat:

Grüßle
Markus

Hallo Markus,

also ich würde die SPI-Anschlüsse nicht noch anderweitig belegen wollen.
Möglicherweise gibt es Tricks, dass das geht, aber ich denke, dass das dann mit sehr viel Programmieraufwand verbunden ist.
Du musst auch bedenken, dass Du für jeden SPI-Teilnehmer noch einen /CS-Anschluss (Chip-Select bzw. Slave-Select) in Form eines Ausgangs benötigst.

Solltest Du wirklich alle Ausgänge benötigen, kannst Du einen oder mehrere Portexpander (z.B. PCF8474) über I²C anschliessen.
Jeder dieser Portexpander stellt Dir weitere 8 Aus- bzw. Eingänge zur Verfügung, es lassen sich bis zu 8 dieser Bausteine am I²C-Bus adressieren.

Gruß

Martin

Uno or Duemilanove:
11 or ICSP-4
12 or ICSP-1
13 or ICSP-3

Heißt, daß Du zum Anschluß des SPI-Busses die PINS 11,12 und 13 benutzen kannst und diese auch noch am ICSP-Stecker an den Pins 1, 3 und 4 herausgeführt sind.
Das/die SPI Devices wird/weren mittels des/der CS Pin/s eingeschaltet oder deaktiviert. Wenn Du aber die Pins 11,12 oder 13 für andere Aufgaben verwenden willst so erhalten diese bei SPI-Datenverkehr unsinnige Signale bzw können die anderen Aufgaben den SPI-Bus blockieren.

Vergiß die Idee einer Doppelverwendung des SPI-Busses für andere Aufgaben.

Die Pins können andes erweitert werden:
Wie marau sagt:

  • mit I2C Port expandern,
    aber auch
  • mit SPI Port expandern
  • mit Schieberegister zB mit dem 74HC595

Grüße Uwe