emic2 und SD - Pinbelegung

Ich bin gerade etwas ratlos,

leider finde ich nicht heraus, wo die Pinbelegung (PIN 13 = SCK, PIN 12 = MISO, PIN 11 = MOSI) festgelegt wird. In den includierten Dateien (EMIC2.h, SD.h, ...) habe ich leider auch nichts gefunden. Im Quelltext werden nur die PINs 4, 5, 6 zugewiesen.

#include <SPI.h>
#include <SoftwareSerial.h>
#include <SD.h>
#include "EMIC2.h"

#define RX_PIN 5 // SOUT
#define TX_PIN 6 // SIN
#define CS_PIN 4 // CS (von SD)

EMIC2 emic;

Funktionieren tut alles wunderbar. Nur möchte ich die PINs 13, 12, 11 ändern...

SPI ist eine Hardware-Schnittstelle. Außer Chip Select kann man die Pins nicht ändern

Serenifly:
SPI ist eine Hardware-Schnittstelle. Außer Chip Select kann man die Pins nicht ändern

Danke für die schnelle Antwort. Dann kann ich mich ja kaputtsuchen :smiley:

Allerdings habe ich jetzt ein Problem. Ich möchte zusätzlich ein EasyVR3 Modul nutzen, was mir die PINs 12 und 13 auch belegt.

Läuft das mit SPI? Dann geht es. SPI ist ein Bus. Da kann man viele Devices dran anschließen. Du brauchst nur für jeden Device einen eigenen Chip Select/Slave Select Pin. Der CS Pins schaltet dann jeweils nur einen Device ein. Die anderen sind inaktiv. So können sich mehrere Geräte die Pins teilen.

Vielen Dank, dann werde ich mich jetzt mal in SPI einlesen und hoffe, dass der EasyVR dieses auch nutzt :wink:

Manual Seite 21: "The choice of pins 12-13 is maintained for backward compatibility with the previous hardware revisions of the EasyVR Shield. However those pins may also be used for the SPI interface, so another choice of pins 8-9 is provided. If you want to use different pins make sure the receiver pin supports change interrupts."

Also läuft das doch nicht über SPI :slight_smile: