Pin(14) qual'è sul Arduino UNO ?

Ho trovato in internet un programma per Arduino UNO, con questa istruzione che genera un interrupt, ma non riesco a capire quale è il pin fisico:

 //this pin also has a 1K pullup resistor tied to VCC. 
  pinMode(14, INPUT_PULLUP);
  attachInterrupt(14, alarmISR, FALLING);

Ho letto nelle specifiche che Arduino UNO ha due pin di interrupt, uno sul pin Digital 2 uno sul 3. A questo punto non capisco più qual'é. Saluti

Difatti NON è per Arduino UNO …
… il pin 14 è il pin A0, basta che vai nel “core” di arduino e guardi il file “pins_arduino.h”:

#define PIN_A0   (14)
#define PIN_A1   (15)
#define PIN_A2   (16)
#define PIN_A3   (17)
#define PIN_A4   (18)
#define PIN_A5   (19)
#define PIN_A6   (20)
#define PIN_A7   (21)

… probabilmente quel codice è per la DUE o per ZERO. Guarda il reference per sapere su quali pin puoi usare la attachInterrupt().

Guglielmo

Ho le idee un po più chiare. Grazie

C'è comunque qualcosa di strano, nel senso che il primo argomento di attachInterrupt() dovrebbe essere il numero dell'interrupt, non del pin.

La sintassi che ho trovato nell'esempio del "Arduino Reference" è questa:

attachInterrupt(digitalPinToInterrupt(pin), ISR, mode); (recommended)

e mi funziona regolarmente con Arduino UNO. Saluti

Così sì, la funzione digitalPinToInterrupt() ritorna appunto il numero dell'interrupt corrispondente al pin che le passi.

SukkoPera: C'è comunque qualcosa di strano, nel senso che il primo argomento di attachInterrupt() dovrebbe essere il numero dell'interrupt, non del pin.

NON sempre ... leggi il reference ...

attachInterrupt(pin, ISR, mode); (not recommended Arduino Due, Zero, MKR1000, 101 only)

... anche se è un modo NON consigliato.

Guglielmo