Question sur une fonction - C'est plus rapide, ou non ?

Sur une nano, millis() s'incrémente toutes les 1024µs (c'est à mon avis un choix pour perdre du temps et des octets). Si millis() s'incrémentait de 1 à chaque fois, elle retarderait. Elle va donc s'incrémenter 976 fois de 1 et 24 fois de 2. La résolution de millis() est donc de 2ms. Mais je ne l'ai pas vu dans la documentation.

Les 4µs de micros c'est à cause du compteur 0 de la nano qui est un 8 bits. En incrémentant son compteur, il déborde 1024 fois par secondes, ce qui permet d'incrémenter millis(). Si le compteur était un 16 bits, on pourrait alors avoir une résolution de 62,5ns.

Quand on a la paresse, on utilise micros() en déréglant l'horloge pour qu'elle compte les 62,5ns au lieu des 4µs. Il n'y a qu'un seul registre à changer! Sans se caser la tête: TCCR0B &=0b11111101; ou un équivalent. Mais je pense que TCCR0B=1; suffit!