[RISOLTO] Serial HW e SoftwareSerial compatibilità

Bartleboom:
caro leo72.......... funziona!! E' bastato inserire il pinMode(0, OUTPUT);

Anche se non ho ben capito xkè... cmq grazie mille!

BB

Prima di spiegartelo, volevo la conferma da parte tua.
Tu dicevi che lo slave in ricezione sulla seriale HW perdeva dati mentre con la seriale SW no. Mi è tornata allora a mente una discussione di un paio di mesi fa in cui un utente aveva manifestato dei problemi collegando un LED sul pin D0. Lo aveva trovato debolmente acceso.

Tale minima accensione dipende dal fatto che sull'Arduino le linee RX e TX della seriale HW (i pin D0 e D1) sono in comune con l'Atmega8/16U2 che è usato per programmare il chip. Sulle linee che dall'Atmega8/16U2 vanno all'Atmega328 ci sono in serie 2 R da 1K. E l'Atmega8/16U2 tiene pullata alta la linea RX (come ci spiegò astrobeed tempo fa, questa è la condizione standard di idle della linea RX della seriale).

Nei miei test mi accorsi che tale segnale di pull-up restava presente fino a quando non si impostava il pin come output, dopodiché il pilotaggio del pin fatto dal GPIO interno del micro annullava in pratica la debole corrente di quella resistenza. Il delay l'ho aggiunto per dar modo alle schede di stabilizzarsi dopo l'avvio.