Fonction millis() ,boucle "for"

c - Explanation of digitalWrite in Arduino: toggling LED of digital pin - Stack Overflow confirme le post de Kamill:
l'appel à digitalWrite nécessite de calculer le port (groupe de 8 pattes), le numéro dans le port, et si c'est un timer (ceci fait déjà 3 appels de fonctions ...chaque appel nécessite de stocker/destocker des registres).
Il vérifie ensuite que le port est valide, que le numéro dans le port est valide, et que la patte n'est pas impliquée dans un timer ("montre patte blanche"). Alors, il invalide les interruptions, fait effectivement la mise à jour de la patte, revalide les interruptions... Toutes ces précautions sont chronophages...