Systèmes embarqués et firmware

Un temporisateur compte une horloge de 16 MHz divisée par 16 par le prédiviseur et déclenche une interruption tous les 1000 comptes. Quel est l'intervalle entre interruptions ?

  1. A1 µs
  2. B1 ms
  3. C16 ms
Afficher la réponse et l'explication

Réponse : B. 1 ms

16 MHz divisés par 16 donnent une horloge de temporisateur de 1 MHz, soit 1 µs par compte. Tous les 1000 comptes, l'intervalle vaut 1 µs×1000=1 ms. Le prédiviseur divise une horloge trop rapide pour l'adapter à la plage de comptage du temporisateur. Une interruption toutes les 1 ms sert souvent à la gestion du temps, à la lecture des interrupteurs ou de base de temps (tick) d'un RTOS.

S'entraîner sur ce thème Retour au thème

Autres questions sur Systèmes embarqués et firmware

  1. Pour un signal PWM de période 1000 comptes, la sortie est à 1 (High) pendant 250 comptes par période. Quel est le rapport cyclique ?
  2. Quelle méthode est couramment utilisée par un microcontrôleur pour régler la luminosité d'une LED ou la vitesse de rotation d'un moteur ?
  3. Quelle utilisation de la fonction de capture d'entrée (input capture) du temporisateur d'un microcontrôleur est correcte ?
  4. Que convient-il le plus d'éviter dans un gestionnaire d'interruption ?
  5. Lorsque le programme ci-dessus est compilé avec optimisation, led_on() peut ne pas être appelée même si l'interruption de temporisateur survient. Quelle combinaison de cause et de remède est correcte ?

Comparatifs sur ce thème