Go Down

Topic: Gestione input/output Attraverso registri. (Read 2 times) previous topic - next topic

xSanciopanzax

Buonasera,
Avrei una domanda da porvi,
Sul sito di arduino http://www.arduino.cc/en/Reference/PortManipulation che scritto che e consigliato non modificare i pin 0 e 1 Tx Rx.
Mi potete spiegare il perché?
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 ?

Vi ringrazio per la risposta.

uwefed

Se modifichi i Pin 0 e 1 non funziona piú la comunicazione attraverso la USB.
La differenza tra
" DDRD= DDRD |B11111110; "
e " DDRD= B11111110; "
é
che la prima versione lascia l' ultimo bit invariato 
mentre l' ultimo bit a zero.
Ciao Uwe

xSanciopanzax

La ringrazio per la sua risposta, velocissima :smiley-eek:  :smiley-eek: . pensavo di leggere le risposte domani tornato da lavoro. :)

Quindi  DDRD= DDRD |B11111111; se scrivo in questo modo l'ultimo Bit rimane invariato lo stesso?
Come sono di default i pin TX Rx? Posso settarli tutte le volte con valori uguali al default?

uwefed

Che formalitá, prego mi dia del TU.
Il | fa un or di ciascun bit col correspondente.

DDRD= DDRD |B11111111; mette tutti i bit a 1.

Non so come sono messi i bit dei pin 0 e 1 visto che la seriale é implementato in hardware.
Ciao Uwe

xSanciopanzax

Quindi come è consigliabile scrivere (senza interferire con la seriale)  se io voglio per esempio mettere in Input i Pin 2-3-4 e in Out 5-6-7 del digitale?
DDRD = .....
Grazie.

Go Up