Systèmes embarqués et firmware

Quelle utilisation de la fonction de capture d'entrée (input capture) du temporisateur d'un microcontrôleur est correcte ?

  1. ACapturer et enregistrer l'image de l'écran
  2. BEnregistrer la valeur du compteur à l'instant où le signal d'entrée change, pour mesurer précisément largeur d'impulsion et fréquence
  3. CProduire un signal PWM sur une broche de sortie
Afficher la réponse et l'explication

Réponse : B. Enregistrer la valeur du compteur à l'instant où le signal d'entrée change, pour mesurer précisément largeur d'impulsion et fréquence

En capture d'entrée, au moment d'un front montant ou descendant du signal sur la broche, le matériel copie la valeur du compteur du temporisateur dans un registre. La différence entre deux captures donne la largeur d'impulsion ou la période. Lire l'heure par logiciel après réception d'une interruption introduit une erreur due au délai de traitement, alors que cette méthode mesure avec précision quel que soit ce délai. Elle sert notamment aux capteurs de vitesse de rotation et aux télémètres à ultrasons.

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

Autres questions sur Systèmes embarqués et firmware

  1. Que convient-il le plus d'éviter dans un gestionnaire d'interruption ?
  2. 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 ?
  3. Sur un microcontrôleur 8 bits, une interruption de temporisateur incrémente une variable 32 bits ticks, et le traitement principal lit ticks pour calculer le temps écoulé. Quelle est la cause des valeurs parfois très erronées ?
  4. Quelle caractéristique de la communication série par UART est correcte ?
  5. Pour un UART à 115200 bps au format 8 bits de données, sans parité, 1 bit de stop (8N1), quelle valeur est la plus proche du nombre d'octets transmissibles par seconde ?

Comparatifs sur ce thème