Esecuzione monitor seriale e flusso di programma

Ciao a tutti,
sono al mio primo Arduino 2560 + Ethernet Shield, e devo dire che con le prime prove è andato tutto molto bene.
Ho cercato in rete ma non ho trovato nulla, per cui vi spiego il mio dubbio.
Ho testato il metodo per invio mail presente sul sito ufficiale: Arduino Playground - Mail.
Ok, mi da errore di connessione ma me lo aspettavo visto che in azienda abbiamo delle restrizioni sulla rete...altri sketch che utilizzano l'Ethernet Shield hanno funzionato egregiamente.
Tuttavia nello sketch per l'invio di mail non mi è chiara una cosa: noto che, una volta caricato ed avviato lo sketch, attendo un attimo, apro il monitor seriale e solo allora mi parte la fase di "Program started, waiting for router...", "Starting network module...", "connecting...", e poi "connection failed". La cosa ancora più strana (ma che forse sono io a non capire), è che poi chiudo il monitor (uso Hyperterminal ma credo che anche con quello integrato in Arduino sia lo stesso), lo riapro, e riparte la stessa fase. Ma ciò che sta in "void setup()" non viene eseguito solo all'avvio di Arduino? Come mai mi si ripropone ogni volta che faccio partire il monitor?
E ancora: di fatto il flusso di programma segue ciò che io leggo su seriale, oppure va avanti con tempi diversi ed a prescindere da quello che leggo sulla seriale?
Forse saranno domande banali, ma mi servirebbero per capire meglio in che modo "Arduino hardware" e "Arduino software" funziona :slight_smile:
Grazie a chiunque vorrà chiarirmi questi semplici dubbi.

Enzo

Ciao, probabilmente ti stai riferendo al RESET che viene imposto ad Arduino dall'apertura del Serial Monitor. HyperTerminal non sempre si comporta come il Serial Monitor ma spesso lo fa (non ho mai ben capito perché). Il reset ovviamente riesegue la void setup, quindi la tua osservazione è corretta.

Ciao Michele e grazie per la risposta!
Il RESET all'apertura del serial monitor non la immaginavo sinceramente, anche perchè se ho le mie uscite analogiche e digitali con il loro stato dalle quali dipende chessò un processo importante, ed io mi collego col monitor, le uscite immagino andranno tutte basse in questa fase, e ciò potrebbe crearmi grandi problemi.
Nulla che comprometta la sicurezza, ovvio, ma potrebbe essere "dannoso".
Cercherò in rete allora se c'è il modo per disattivare questo reset, anche perchè se voglio monitorare via seriale lo stato del programma in quel momento sarebbe comodo non resettare tutto.
Grazie ancora!
Enzo

ti basta infilare un condensatore da 10µF col + nel 3,3V ed il - nel Reset di Arduino e non lo vedi funzionare più. Ovvio che per fare upload di sketch lo devi togliere

Ah ecco, Grazie Michele!
Meglio questa soluzione rispetto a quella che leggevo adesso di interrompere la pista dell'autoreset su PCB :wink:

Ciao,

Enzo

Enzo_Arduino:
Ah ecco, Grazie Michele!
Meglio questa soluzione rispetto a quella che leggevo adesso di interrompere la pista dell'autoreset su PCB :wink:

Ciao,

Enzo

In quel caso converrebbe saldare poi un pin-jumper in modo da poter facilmente inserire o togliere un cappuccio, esattamente come fai per il condensatore.
Ciao.