[PIC18F] - Bonne Configuration pour les interruptions
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

[PIC18F] - Bonne Configuration pour les interruptions



  1. #1
    jorg1n

    [PIC18F] - Bonne Configuration pour les interruptions


    ------

    Bonjour,

    voila, j'utilise de plus en plus les interruptions avec un PIC:
    -interruptions externe
    -Timer
    -module EUSART

    Par contre, je m'emmêle un peu les pinceaux dans l'initialisation, les priorités...

    comment bien déclarer (dans quel ordre?) les interruptions et les niveaux de priorités, car pour le moment, tout est au même niveau (haute priorité)?

    Merci d'avance et bonne soirée a tous

    -----

  2. #2
    sdec25

    Re : [PIC18F] - Bonne Configuration pour les interruptions

    Bonjour,
    Je n'ai pas bien compris la question. Il n'y a pas d'ordre dans les interruptions.
    car pour le moment, tout est au même niveau (haute priorité)
    Quel est le problème ?

  3. #3
    RISC

    Re : [PIC18F] - Bonne Configuration pour les interruptions

    Salut,

    Dans les PIC18, il y a seulement 2 priorités ; Low priority et High priority.
    L'ordre de déclaration n'a aucune importance.
    La principale différence est qu'une interruption haute priorité effectue la sauvegarde et la restitution des registres clés par HW alors que dans le cas d'une basse priorité c'est par SW ce qui donne des changements de contexte plus rapide pour la haute priorité.

    Les "sous"-priorités dans le vecteur Low priority sont simplement dépendantes de l'ordre de test des flags d'interruption.

    a+
    Dernière modification par RISC ; 21/10/2009 à 21h22. Motif: correction

  4. #4
    jorg1n

    Re : [PIC18F] - Bonne Configuration pour les interruptions

    Merci,

    mais sinon, au niveau de l'initialisation des registres, a partir du moment où l'on utilise les interruptions, il faut que le bit GIE soit à 1?
    et ensuite on active ou non le bit d'"enable" du module comme TMR0IE pour le timer 0(en ayant configurer le timer auparavant)?

    Si GIE est à 0, aucune interruption peut avoir lieu?

    Merci d'avance

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

    Re : [PIC18F] - Bonne Configuration pour les interruptions

    Salut,

    Tu as 2 catégories d'interruptions :
    * Core interrupts
    * Peripheral interrupts

    En mode LEGACY (un seul vecteur d'interruption, pas de priotié)
    Pour autoriser les core interrupts il suffit de valider l'interruption core et GIE
    Pour autoriser les Peripheral interrupts, il faut valider l'interruption du périphérique + le flag PEIE + le flag GIE
    Donc effectivement, mettre GIE = 0 désactive toutes les interruptions

    En mode PRIORITY
    GIE et PEIE changent de nom : GIEH et GIEL
    Il faut alors spécifier pour CHAQUE interruption si tu veux qu'elle provoque une interruption haute priorité ou basse priorité (flag xxxxIP).

    Je te recommande de lire l'explication très détaillée du cours de Bigonoff ;=)

    a+

  7. #6
    jorg1n

    Re : [PIC18F] - Bonne Configuration pour les interruptions

    Merci RISC et les autres,

    je crois que je vais regarder tout ça et mettre un peu d'ordre dans mon soft....

    Merci encore

  8. #7
    jorg1n

    Re : [PIC18F] - Bonne Configuration pour les interruptions

    Bonjour,

    voila, je viens vers vous car sur un de mes petits systèmes, je souhaite géré le fonctionnement en fonction de l'état d'un interrupteur qui serait branché sur INT2 de mon PIC, c'est à dire, que je dois a la fois détecter une interruption sur INT2 en front montant (lorsque le signal est à "0" à l'origine), puis une interruption de INT2 en front descendant (lorsque le signal est a 1 auparavant), et je voulais savoir si je pouvais faire cela :
    Code:
      if(INTCON3bits.INT2IE)     
        {
        if(INTCON3bits.INT2IF)  
            {
    		if(INTCON2bits.INTEDG2 == 1)
    			{
    			...
    			INTCON2bits.INTEDG2 = 0;
    			}
    		else if(INTCON2bits.INTEDG2 == 0)
    			{
    			...
    			INTCON2bits.INTEDG2 = 1;
    			}
    
              INTCON3bits.INT2IF = 0; 
            }
        }
    Merci d'avance

  9. #8
    sdec25

    Re : [PIC18F] - Bonne Configuration pour les interruptions

    Bonjour,
    Oui tu peux. Mais le 2ème "if" est facultatif puisque si ce n'est pas 1 c'est forcément 0.

  10. #9
    RISC

    Re : [PIC18F] - Bonne Configuration pour les interruptions

    Salut,

    Attention à ce genre de manipulations....
    Relit en détail la documentation, mais il est généralement très dangereux de reprogrammer les fronts tout en ayant gardé les interruptions activées...Cela peut amener des effets de bords à s'arracher les cheveux.

    a+

  11. #10
    jorg1n

    Re : [PIC18F] - Bonne Configuration pour les interruptions

    Merci pour les conseils...

    bon ,je crois que le mieux c'est de tester... je ferais l'essaye et on verra bien...

    Sinon, tu me préconises de faire comment RISC?

    Merci d'avance

Discussions similaires

  1. bonne nouvelle pour les freenautes
    Par invite51fb9cf0 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 0
    Dernier message: 01/06/2009, 11h38
  2. "Bonne configuration" pour un conduit de poele et autres joyeusetés
    Par romut dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 2
    Dernier message: 06/02/2008, 15h40
  3. Ma configuration est-elle bonne pour le jeu ?
    Par inviteb326bcf9 dans le forum Matériel - Hardware
    Réponses: 5
    Dernier message: 10/10/2007, 23h11
  4. est-ce une bonne configuration pour le jeu?
    Par invite2a271795 dans le forum Matériel - Hardware
    Réponses: 5
    Dernier message: 22/01/2004, 14h37
  5. Bonne nouvelle pour les doctorants
    Par Cécile dans le forum Actualités
    Réponses: 45
    Dernier message: 06/02/2003, 13h23
Découvrez nos comparatifs produits sur l'informatique et les technologies.