Funktion der Pins festlegen

Hallo,

ich habe folgendes Problem. Ich habe ein Programm das ich erst auf einem Uno programmiert habe.
Das Programm hat 2 Interrupts und I2C. Jetzt brauche ich aber 4 Interrupts also habe ich mir einen Leonardo besorgt.
Das Problem dabei ist das z.B. Pin 3 INT0 und Pin2 INT1 auch SCL und SDA sind.
Kann ich sagen das Pin 2 und 3 nur die Funktion als Interrupt haben und SCL/SDA Port PD0/PD1 sind?

Ich hoffe es ist verstÀndlich :slight_smile:

Gruß

Jan

Benutze doch einfach PinChangeInterrupts.

Hallo,
der Leonardo liefert Interrupt() an Pin 0, 1, 2, 3 und 7.
Das sind 5. Du brauchst vier. Einfach im Sketch anders deklarieren.
Gruß und Spaß
Andreas

SkobyMobil:
der Leonardo liefert Interrupt() an Pin 0, 1, 2, 3 und 7.
Das sind 5. Du brauchst vier. Einfach im Sketch anders deklarieren.

Jeder I/O-Pin kann Interrupts liefern, aber dessen ungeachtet:

Es gibt auf dem Leonardo zwar 5 externe Interrupt EingÀnge,
zwei dieser Pins werden aber von I2C benutzt.

Kann ich sagen das Pin 2 und 3 nur die Funktion als Interrupt haben und SCL/SDA Port PD0/PD1 sind?

Nein, diese Mehrfachfunktionen der Pin, die in Hardware aufgebaut sind, kann man nicht einfach auf andere Pins geben.

Der Uno hat 2 InterrupteingÀnge, bei denen die Verarbeitung sich auf jedes Pin einzeln funktioniert.
Außerdem hat er auf allen Pins einen Interrupt der aber mehrere Pins gleichzeitig verarbeitet. Bei diesem wird ein interrupt ausgelöst und Du mußt dann bestimmen welches Pin es eigentlich ist das den interrupt ausgelöst hat.
Nimm die von Whandall vorgeschlagene Bibliothek und alles ist gut.

GrĂŒĂŸe Uwe