Faisant suite au PRESCALER, le TIMER/COMPTEUR joue un rôle central.
Son rôle est de compter les tops d'horloge à une vitesse sur laquelle l'utilisateur peut intervenir. A première vue cela parait simple et on se demande à quoi peut bien servir de compter les tops d'horloge.
En fait dans un microcontrôleur le timer/compteur joue un rôle essentiel, il permet :
• Mesurer le temps qui passe (Instructions Delay ou Millis),
• Mesurer la durée d'une action d'un évènement (Génération d'un signal DCC),
• Compter le nombre d'évènement arrivant sur une broche (Principe de l'analyseur de trame DCC),
• Générer des signaux PWM (Modulation à Largeur d'Impulsion),
• Réaliser des comparaisons,
• Générer des interruptions,
• ...,
Un TIMER/COMPTEUR fonctionne de deux façons soit :
• En TIMER lorsqu'il compte les tops de son horloge, 16 Mhz pour un arduino uno,
• En COMPTEUR lorsqu'il compte les tops d'une autre source.