Systèmes embarqués et firmware

On veut effectuer un calcul de commande toutes les 1 ms. Quelle implémentation est la plus appropriée sur un microcontrôleur sans système d'exploitation ?

  1. ALever un drapeau par une interruption de temporisateur toutes les 1 ms, la boucle principale effectuant le calcul lorsqu'elle voit le drapeau
  2. BInsérer dans la boucle principale une boucle vide durant à peu près 1 ms pour créer l'intervalle
  3. CRedémarrer le microcontrôleur après chaque calcul
Afficher la réponse et l'explication

Réponse : A. Lever un drapeau par une interruption de temporisateur toutes les 1 ms, la boucle principale effectuant le calcul lorsqu'elle voit le drapeau

Une temporisation par boucle vide varie selon la durée des autres traitements et l'optimisation du compilateur, et manque de précision. Le temporisateur matériel compte précisément, indépendamment des traitements ; une interruption toutes les 1 ms comme référence maintient un intervalle constant. Un calcul court peut être effectué directement dans l'interruption, mais s'il est long, le signaler par un drapeau et l'effectuer dans la boucle principale évite de bloquer les autres interruptions.

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

Autres questions sur Systèmes embarqués et firmware

  1. Quel est le rôle de la détection de baisse de tension (BOD, réinitialisation sur baisse de tension) d'un microcontrôleur ?
  2. Sur un microcontrôleur à interruptions hiérarchisées, une interruption de haute priorité survient pendant l'exécution du gestionnaire d'une interruption de faible priorité. Que se passe-t-il généralement (imbrication des interruptions autorisée) ?
  3. En langage C, quelle écriture met à 1 uniquement le bit 3 du registre reg sans modifier les autres bits ?
  4. En langage C, quelle écriture met à 0 uniquement le bit 3 du registre reg sans modifier les autres bits ?
  5. On souhaite basculer, à chaque exécution, entre allumage et extinction le bit d'une broche de sortie reliée à une LED. Quelle écriture C est correcte ?

Comparatifs sur ce thème