En el Arduino y todos los microcontroladores de Atmel, procesamiento es rápido cuando se utiliza el IDE de Arduino. Pero la entrada y salida es muy lenta. Si tienes un tiempo crítico digitalWrite() y digitalRead() programa pueden retrasarlo mucho. Al escribir este instructable descubrí cómo mucho. Cuando empecé tenía ocho LEDS. Funcionó bien la primera vez a través de pero más funcionó más mezcla hasta el momento se convirtieron. Para mantenerlo simple cambié a cuatro luces LED para solucionar el problema.
Es posible usar los comandos de nivel inferiores para acelerar enormemente la entrada y salida.
Hay tres bancos de pines del Atmega 328 y 168 microcontroladores llamados B, C y D.
- El Banco B es pins digitales 8-13.
- El Banco de C es los pines de entrada analógicos.
- Banco D es pins 0 - 7.
Cada banco de pins tiene tres registros de 8 bits utilizados para controlarla:
- El registro DDR es la dirección de datos, 0 = entrada 1 = salida.
- El registro PIN se utiliza para leer el valor del pin digital.
- El registro de puerto tiene dos funciones:
- Si registra el DDR se establece en 0 establece el perno bajo y 1 fija alta de salida.
- Si se establece el registro DDR 1 entrada enciende la resistencia de pull-up interna.