Avevo rilevato anche un mancato funzionamento degli input (pin 84 e 83 corrispondenti a PE6 e PE7).
Visto che anche queste porte si trovavano descritte alla fine dei vettori di mapping in pins_arduino.c ho cominciato a sospettare seriamente di un problema di mapping.
Allora ho pilotato direttamente i registri di ATMEGA2560.
Ovvero con le istruzioni DDRx,PORTx,PINx.
Esempio:
int pe=PINE;
Serial.println(pe,BIN);
E così l'input rilevato seguiva finalmente il valore di ingresso (ovviamente invertito visto il pool-up).
Poi sono passato alla verifica del famoso problema dell'accensione del modem (pin 77 ovvero PJ7) e del led5 (pin 76 ovvero PJ6)
DDRJ=B11000000;
PORTJ=B11000000;
delay(2000);
PORTJ=B00000000;
delay(2000);
E "magicamente" il led si spegne ed accende e il connettore dell'accensione del modulo modem va' alto e basso!!!!!
Adesso io vorrei sapere, come è possibile che ad altri abbia funzionato tutto.
O io ho fatto un casino con il file pins_arduino.c (cosa improbabile, stando ai controlli che sto facendo), oppure nessuno ha ancora provato tutto.
Per favore datemi un feedback!
![Confused :?](./images/smilies/icon_e_confused.gif)
Nel caso (lo chiedo alla redazione tecnica) si trovasse effettivamente la correzione da fare su pins_arduino.c, per favore fatemelo sapere al più presto per evitare di utilizzare i registri del 2560.