Gestione input/output Attraverso registri.

umeer:
Buonasera,
Avrei una domanda da porvi,
Sul sito di arduino Arduino Reference - Arduino Reference che scritto che e consigliato non modificare i pin 0 e 1 Tx Rx.
Mi potete spiegare il perché?

Alt... c'è scritto di non modificare i pin 0 e 1 se tu stai usando la seriale per comunicare con altri dispositivi, perché interferiresti con tale processo. Altrimenti quelli sono pin come gli altri, usabili per l'I/O.

Il sito consiglia di usare " DDRD= DDRD |B11111110; " che cosa cambia rispetto a " DDRD= B11111110; " ?(Perché non vengono modificati i pin relativi a TX RX?)
C'è un modo sicuro di settare la tutta la portD ?

Alt di nuovo :stuck_out_tongue_closed_eyes:
Se si vogliono impostare tutti i bit come output senza toccare i pin 0 e 1, devi dare:
DDRD = DDRD | B11111100; :smiley:
Il tuo esempio è sempre riportato in quella pagina ma "sets Arduino pins 1 to 7 as outputs, pin 0 as input", ossia imposta i pin 1-7 come output ed il pin 0 come input. Attento perché un 1 al posto di uno 0 fa la differenza.