Sur l’Arduino et tous les Microcontrôleurs Atmel, le traitement est rapide lorsque vous utilisez l’IDE Arduino. Mais l’entrée/sortie est très lent. Si vous avez un temps critique digitalWrite() et digitalRead() de programme peuvent ralentir beaucoup. Lorsque vous écrivez cette instructable j’ai découvert comment une grande partie. Quand j’ai commencé, j’ai eu huit voyants. Il a bien fonctionné la première fois, mais plus il courait plus mêlé le timing est devenu. Afin de garder les choses simples, je suis passé à quatre LED pour résoudre le problème.
Il est possible d’utiliser les commandes de niveau inférieurs de grandement accélérer l’entrée/sortie.
Il y a trois banques de pins sur la Atmega 328 et 168 microcontrôleurs appelés B, C et D.
- La Banque B est broches numériques 8-13.
- La Banque C est les broches d’entrée analogiques.
- Banque D est broches 0 - 7.
Chaque banque de pins a trois registres de 8 bits utilisés pour lutter contre elle :
- Le registre de la DDR est la direction de données, 0 = entrée, 1 = sortie.
- Le registre PIN est utilisé pour lire la valeur numérique de la goupille.
- Le registre PORT a deux fonctions :
- Si le DDR s’inscrire a la valeur 0 définit l’axe faible et 1 il élevé de sortie.
- Si le registre de la DDR est défini sur entrée 1 active la résistance de pull-up interne.