Intterruption et revenir au DEBUT du programme ?
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Intterruption et revenir au DEBUT du programme ?



  1. #1
    invite068e61d4

    Intterruption et revenir au DEBUT du programme ?


    ------

    Bonjour,

    j'aurais une toute petite question. Comment peut-on, en langage C, dire qu'à la fin d'une interruption, le programme ne doit pas reprendre à l'endroit où l'interruption s'est réalisée mais plutôt reprendre tout au début ?

    Je sais comment tout configurer et programmer mais je n'ai pas la moindre idée de comment fait-on pour recommencer au tout début du MAIN plutôt qu'à la suite ...

    En vous remerciant d'avance, je vous souhaite à tous une très bonne soirée.

    Och

    -----

  2. #2
    Jack
    Modérateur

    Re : Intterruption et revenir au DEBUT du programme ?

    Il faut inclure du code asm, pour remettre les registres et la pile en ordre avant de faire un jump.

    Ou alors un reset.

    A+

  3. #3
    invitee05a3fcc

    Re : Intterruption et revenir au DEBUT du programme ?

    ce n'est pas une bonne méthode de programmation que d'utiliser ce genre de principe un peu iconoclaste !

  4. #4
    Tropique

    Re : Intterruption et revenir au DEBUT du programme ?

    C'est vrai que la méthode est violente, mais elle est utilisée pour les systèmes qui doivent avoir une très bonne résilience: à chaque fois, on repart de zéro, et même s'il y a eu un plantage, les conséquences restent limitées.
    Les données essentielles doivent être sauvées dans un espace protégé, pour qu'il y ait une continuité dans le fonctionnement lors de chaque "résurrection", et la programmation est contraignante, mais il y a des avantages: c'est comme un super watchdog inhérent au système.
    Pas de complexes: je suis comme toi. Juste mieux.

  5. A voir en vidéo sur Futura
  6. #5
    invite092cb13c

    Re : Intterruption et revenir au DEBUT du programme ?

    Bonjour
    Je partage l'avis de DAUDET78, cette façon d'utiliser une interruption n'est pas le signe d'une bonne structure de ton programme. Mais je ne pratique pas le c, il y a donc certainement des techniques qui m'échappent.
    Maintenant que je t'ai dit qu'il ne fallait pas le faire, je vai t'expliquer comment je l'ai fait dans un de mes vieux programmes pas trop bien structuré.
    Ton programme doit avoir une boucle principale relativement courte et à interval regulier je teste un flag qui sera lever dans la fameuse interruption, si le flag est à 0 je continue le programme normalement, si le flag est à 1 alors je saute à l'adresse qui m'interresse, pour toi c'est un goto main ou un goto 0; à toi de faire une initialisation complete des registres utiles au debut du programme, il faut faire attention à ce que la pile soit vide, donc les tests du flag doivent être dans le main et non dans des routines.
    On ne sait pas sur quoi tourne ton programme, mais pour certains µC par exemple, on peut acceder à la pile, le probleme est donc plus simple.
    Gilles

  7. #6
    Jack
    Modérateur

    Re : Intterruption et revenir au DEBUT du programme ?

    Il est vrai que ce n'est pas recommandable. L'idéal serait de savoir pourquoi avoir recours à une telle opération.

    A+

Discussions similaires

  1. Revenir au lycée
    Par invite3ade3479 dans le forum Orientation avant le BAC
    Réponses: 3
    Dernier message: 09/11/2008, 13h46
  2. Recommencer le programme au début après une interruption (PIC16f84A)
    Par invite4386a656 dans le forum Électronique
    Réponses: 8
    Dernier message: 17/05/2008, 14h58
  3. Quitter un lycée et y revenir
    Par invite27358c9f dans le forum Orientation avant le BAC
    Réponses: 3
    Dernier message: 12/02/2007, 01h52
  4. psp, revenir a la version 1.5 ??
    Par invitebe745ec1 dans le forum Matériel - Hardware
    Réponses: 4
    Dernier message: 01/01/2006, 16h01
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...