intterupt in arduino

doppiozero:
Usa un convertitore USB seriale esterno. Il pin su cui metti il DTR lo attacchi ad un interrupt (se proprio ti serve, oppure lo tieni monitorato), quando colleghi il convertitore al pc e apri la comunicazione il DTR va LOW e il gioco è fatto. Senza resettare nulla ovviamente

Ehm, scusa ma in realtà questo è (più o meno) quello a cui volevo farlo arrivare da solo (vedi mio post #17...), così hai spoilerato! :smiley: Se deve usare le seriali (qui parlo di quelle fisiche) deve anche studiare come funzionano e come si gestiscono non ti pare? :wink:

va low quando apri il monitor seriale di Arduino, non so come si comporta con in altri ambiti, parola agli esperti

Per la seriale "minimale" bastano RX, TX e GND ma per il verso di questi e degli altri pin come DTR dipende delle controparti: qual è DTE e quale DCE? E se poi la seriale è con o senza handshake hardware (o con handshake software).

In questo caso direi che Arduino potrebbe essere un DCE (diciamo come un modem per intenderci) mentre la controparte un DTE (il computer che "usa" il modem). Quindi il DTR lo alza il computer/DTE, e se il pin DTR lo porta in un pin di Arduino poi può farci quello che vuole (anche io consiglierei di non usare gli interrupt ma dipende dal resto del codice cosa fa). Ovviamente se la controparte (sempre DTE) ha abilitato un handshake hardware (CTS/RTS) le cose potrebbero complicarsi, ma spero non sia un requisito. In ogni caso è l'OP che deve definire/capire come si gestisce la seriale.

Per ulteriori info: