Cada pin del pórtico esta compuesto de tres registros: DDxn, PORTxn, y PINxn,
los bits DDXn son accesos a la dirección del DDRx E/S, los bits PORTxn
direccional al PORTx E/S, y los bits del PINnx direccional al PINx E/S.
El bit DDxn en el registro DDRx selecciona la dirección de este pin. Si DDxn es
escrito a uno lógico Pxn es configurado como un pin de salida. Si DDxn es
escrito con cero lógico, Pxn es configurado como un pin de entrada.
Si PORTxn es escrito como uno lógico cuando el pin es configurado como un
pin de entrada, las resistencias pull-up son activadas.
Para cambiar a apagar las resistencias pull-up, el PORTxn tuvo que ser escrito
con cero lógico o el pin tubo que ser configurado como pin de salida. Los pines
del pórtico son de declarados cuando la condición reset llega hacer activada.
Incluso si el reloj no esta corriendo.
Si el PORTxn es escrito con uno cuando el pin es configurado como un pin de
salida, el pin del pórtico es manejado con uno. Si el PORTxn es escrito con cero
lógico cuando el pin es configurado como salida, el pin del pórtico es manejado
con cero.
13.2.2 Invirtiendo el Pin
Escribiendo uno lógico en el PINxn, se invierte el valor de PORTxn,
independientemente del valor de DDRxn.
Note que la instrucción SBI pude ser usada para invertir un pin de un pórtico
de manera sencilla.
13.2.3 Cambiando entre Entrada y Salida
Cuando cambiamos entre ({DDxn, PORTxn} = 0b00) y la salida en alto ({DDxn,
PORTxn}= 0b11), e inmediatamente con la habilitación de las pull-up {DDxn,
PORTxn} = 0b01) o la salida en bajo ({DDxn, PORTxn} = 0b10) ocurriría.
Normalmente, la habilitación de las pull-up es aceptable, como una alta-
impedancia no seria la diferencia entre un fuerte manejo en alto y la pull-up. Si
este no es el caso, el bit PUD en el registro
deshabilitar todas la pull-up en todos los pórticos. Cambiando entre la entrada
con pull-up y la salida en bajo genera el mismo problema. Al usar el tri-state
({DDxn, PORTxn} = 0b00) o la salida en high state ({DDxn, PORTxn}
= 0b11) como en el paso inmediato.
Configuración de los Pines del Pórtico
DDxn PORTxn PUD (en
0
0
0
1
0
1
1
0
1
1
E/S
MCUCR)
X
Entrada No
0
Entrada SI
1
Entrada No
X
Salida
X
Salida
MCUCR puede ser uno y
Pull-
Comentario
up
Tri-State (Alta-Z)
Pxn corriente en la fuente
si existe pulled low
Tri-State (Alta-Z)
No
Salida en Bajo
No
Salida en Alto (Fuente)