Arduino Puertos
Arduino Puertos
ARDUINO Y REGISTROS
2
Los registros permiten manipular los pines del microcontrolador de la placa Arduino
en bajo nivel y de manera ms rpida. En el ATmega328P se dispone de tres puertos:
Cada puerto es controlado por tres registros, los cuales tambin estn definidos como
variables en el lenguaje de Arduino.
El registro DDR, determina si el pin es una entrada o una salida.
El registro PORT controla si el pin est en nivel alto o en nivel bajo.
El registro PIN permite leer el estado de un pin que se ha configurado como entrada
usando la funcin pinMode().
Los registros DDR y PORT pueden ser ambos, escritos y ledos. El registro PIN
corresponde al estado de las entradas y solo puede ser ledo.
El Puerto D comprende a los pines digitales del 0 al 7
DDRD - PORTD - PIND
El Puerto B comprende a los pines digitales del 8 al 13. Los bits altos (6 y 7) estn
mapeados a los pines del cristal de cuarzo y no pueden ser usados.
DDRB - PORTB - PINB
El Puerto C comprende a los pines de entrada analgica del 0 al 5.
DDRC - PORTC - PINC
Cada bit de estos registros corresponden con un solo pin; por ejemplo el bit menos
significativo de los registros DDRB, PORTB, y PINB hace referencia al pin PB0 (pin
digital 8).
El registro MCUCR, en su posicin PUD, sirve para deshabilitar los pullup de todos
los pines si PUD=1 y si PUD=0, habilita pullup, pero adicionalmente se requiere
configurar PORTB y DDRB.
El registro DDRB sirve para configurar individualmente los pines como entradas o como
salidas. Un :\1 configura como salida y un 0 como entrada.
El registro PORTB sirve para escribir datos en los pines que estn configurados como
salida. Si se escribe datos en pines que estn configurados como entrada, activa o
desactiva los pull-up de dichos pines.
El registro PINB sirve para leer el estado de un pin (ya sea que est configurado
como entrada o como salida). Cuando se escribe un 1 se conmuta el pin
correspondiente.