Fonction Millis

Bonjour à tous, j'ai une question sur la fonction Millis, sur quel horloge cette fonction est basée (en interne) ?
En d'autres termes y'a-t-il une relation (ou pas) avec la fréquence d'utilisation de l'UC ? Merci.

Millis est à zéro au démarrage de ton arduino et est cadencée, me semble-t-il, non pas par le µC mais par le cristal. L'utilisation de ton µC n'influence pas millis().

Des avis plus pointus vont suivre.

mini_IMG_20180621_134558.jpg

Bonjour,

millis() est basé sur l'utilisation d'un timer, donc il y a bien sur une relation avec la fréquence horloge du processeur.
Le framework programme correctement le timer en fonction de l'horloge du micro. C'est pour ça que millis() fonctionnera correctement sur une arduino UNO ou sur un attiny85 fonctionnant à 1MHz (pourvu que tu ais déclaré la bonne fréquence d'horloge dans l'IDE).

Merci pour les réponses, en fait si je veux programmer un Attiny85 à partir d'un sketch UNO j'ai tout intérêt à utiliser la clock interne à la même fréquence (par exemple 1Mhz) si je ne veux pas avoir de surprise au final.
Vu la diversité de carte qui existe et donc de UC cette fonction peut renvoyer des résultats différents d'une carte (ou UC) à un autre ?
Si par exemple je démarre en même temps un Uno et un Mega l'un à 1Mhz l'autre à 8Mhz j'obtiens quoi ? Sachant qu'au départ tous le monde est à zéro le Mega comptera 8X plus vite ou pas ....
Merci.

vidalv:
Merci pour les réponses, en fait si je veux programmer un Attiny85 à partir d'un sketch UNO j'ai tout intérêt à utiliser la clock interne à la même fréquence (par exemple 1Mhz) si je ne veux pas avoir de surprise au final.

Non, le framework se charge d'initialiser le timer pour avoir la bonne valeur de millis (si tu as bien déclaré la bonne valeur d'horloge dans l'IDE).
Au passage une UNO fonctionne à 16MHz.

Merci pour tous ces détails.
En fait une fonction qui cache quelques petites lacunes, compréhensibles, mais auxquelles il faut faire attention.
A utiliser en connaissance de cause.
Merci encore pour ces éclaircissements.
;D