Systèmes embarqués et firmware
Que convient-il le plus d'éviter dans un gestionnaire d'interruption ?
- AÉcrire 1 dans une variable drapeau pour avertir le traitement principal
- BEffacer le bit indiquant la cause de l'interruption
- CDes traitements longs, comme l'affichage d'une longue chaîne par printf ou une boucle d'attente jusqu'à un événement
Afficher la réponse et l'explication
Réponse : C. Des traitements longs, comme l'affichage d'une longue chaîne par printf ou une boucle d'attente jusqu'à un événement
Pendant qu'un gestionnaire d'interruption s'exécute longuement, les autres interruptions ne sont pas servies et le traitement principal est également arrêté. printf met du temps à terminer l'affichage et peut lui-même utiliser des interruptions ; il est donc particulièrement dangereux. Le gestionnaire se limite au strict minimum, comme recevoir une donnée dans un tampon ou lever un drapeau, et confie les traitements lourds au traitement principal ou à une tâche. Il ne faut pas non plus oublier d'effacer le bit de cause.
Continuer : 9 autres questions sur Systèmes embarqués et firmware