Paso 51: Software: inicialización de IO
Esta función configura puertos IO, temporizadores, interrupciones y comunicaciones seriales.
Todos los puertos IO en el ATmega son bidireccionales. Pueden ser utilizados como una entrada o una salida. Configuramos todo como salidas, excepto las clavijas de IO que se conectan los dos botones. El pin RX de la línea serial se convierte automáticamente en una entrada cuando se activa los RX de la USART.
1) DDRx establece la dirección de datos de los pernos del IO. (Registro de dirección de datos). 1 medios de salida, 0 significa entrada.
2) después de que se ha configurado la direccionalidad, establecemos todas las salidas 0 a avid cualquier etc LEDs parpadeando antes de la interrupción haya comenzado.
3) pines configurados como entradas, los bits de PORTx cambia su función. Ajuste a 1 el registro PORTx bits permite una extracción interna hasta resistencia. El puerto es levantado a VCC. Los botones están conectados entre el puerto y la tierra. Cuando se pulsa un botón el bit correspondiente de PINx Lee una lógica 0.
4) timer 2 está configurado y habilitado una interrupción de temporizador. Esto se cubre en un paso separado.
5) serie de comunicaciones está configurado y habilitado. Esto está cubierto en un paso separado.