Bonjour,
Excellents documents. Il serait peut être possible d'ajouter un petit chapitre sur les interruption générées par les flags. Une interruption sur une entrée série ou I2C est très utile.
Peut être préciser aussi que si la condition ayant généré l'interruption est toujours présente après le réarmement et le return, une nouvelle interruption est immédiatement relancée.
Je rebondis sur la remarque très intéressante d'André Bernot concernant les arrêts d'urgence.
Il est vrai que c'est le cas type d'utilisation, mais le fait de ne pouvoir sortir d'une routine d'interruption que par un return, pose un problème.
Dans l'esprit de l'arrêt d'urgence, il s'agit de mettre le système dans un état de non danger. Si dans la pratique industrielle cela peut conduire à déclencher un mouvement (recul d'un vérin de presse, par exemple) avant l'arrêt total, ici, la seule solution est effectivement de redémarrer le programme à l'initialisation.
Toutefois, dans certains cas, il peut être utile de conditionner cette initialisation en fonction du fait qu'il y a eu arrêt d'urgence précédemment.
Il suffit d'inscrire un flag en mémoire data dans la routine d'interruption.
Au démarrage, la lecture de ce flag peut laisser le choix à l'opérateur d'effectuer une commande manuelle, ou de démarrer sur une autre séquence.
Sur un plan pédagogique, la réflexion sur ces aspects de sécurité parfois complexes, est très formatrice ...
Remarque: Avec l'avènement des Picaxes M2, il est possible d'avoir une séquence de surveillance en tâche parallèle .