Interruption et PIC16F877A
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Interruption et PIC16F877A



  1. #1
    Creezys

    Interruption et PIC16F877A


    ------

    Bonsoir;

    s'il vous plait, je programme un PIC16F877A en mikroC, et je vous pose la question sur la possibilité d'utiliser deux interruptions sur le même programme une propre au débordement du timer0 et une propre au débordement du timer1.

    -----

  2. #2
    RISC

    Re : Interruption et PIC16F877A

    Salut,
    Il est possible d'utiliser autant d'interruptions que tu veux.
    Dans le programme d'interruption, il faut juste tester les flags les uns après les autres pour savoir quel périphérique a provoqué l'interruption.
    Sur le site de MikroElektronika tu trouveras certainement des exemples
    a+

  3. #3
    Creezys

    Re : Interruption et PIC16F877A

    Bonjour,

    Pour bien m'expliquer, j'ai bien vérifié les flag les registres de configuration et de contrôle mais le problème c'est dans la nomination de l'interruption, c'est à dire quand je déclare une fonction d'interruption propre au timer0 appelé "void interrupt()" la deuxième fonction d'interruption propre au timer1 doit être autre que "void interrupt()" prenons par exemple "void interrupt1()" ou bien "void int1()" mais dans ce cas il les considère comme des fonction à appelé dans votre programme ils ne seront jamais traités si on les appellent pas dans le coeur de notre programme même si le débordement arrive et le flag et positionné, après avoir fait plusieurs essai j'ai constaté que seul le mot "interrupt " qui fait comprendre au programme que c'est une fonction d'interruption. alors que dois-je faire s'il vous plait?

    Merci!!

  4. #4
    freepicbasic

    Re : Interruption et PIC16F877A

    Le Monsieur t'as dis de testé les flags;

    void interrupt() {
    if (INTCON.TMR0IF) {
    counter++;
    TMR0 = 96;
    INTCON.TMR0IF = 0;
    }
    else if (INTCON.RBIF) {
    counter++;
    TMR0 = 96;
    INTCON.RBIF = 0;
    }
    }
    trouvé ici en 3 secondes avec google...
    http://forums.futura-sciences.com/ne...8033&noquote=1
    A+, pat

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

    Re : Interruption et PIC16F877A

    Merci pour cette recherche vous avez pas à rechercher sur google en 3 secondes mais dans la librairie de mikroC interrupt, Mais c'est pas grave, car je pense que vous m'avez pas bien compris. mon problème c'est que l'utilisation d'une seule interruption de débordement de Timer ça fonctionne à merveille mais quand j'ajoute une autre interruption dans mon programme que ça soit le débordement du Timer1 ou autre différent que celui utiliser en premier le compilateur me marque une erreur car je déclare deux fonction d'interruptions par le même nom "void interrupt()", alors j'ai essayé de renomer la deuxième fonction d'interruption mais sa fonctionne pas.

  7. #6
    freepicbasic

    Re : Interruption et PIC16F877A

    il y a qu'une seule entrée d'int !
    C est a toi d'appeler une routine si tu veux , avec les tests des flags !
    A+, pat

  8. #7
    freepicbasic

    Re : Interruption et PIC16F877A

    exemple précédent avec appels

    void interrupt() {
    if (INTCON.TMR0IF) {
    MyInt1() ;
    }
    else if (INTCON.RBIF) {
    MyInt2();l
    }
    }

    MyInt1() {
    counter++;
    TMR0 = 96;
    INTCON.TMR0IF = 0;
    }
    MyInt2() {
    counter++;
    TMR0 = 96;
    INTCON.RBIF = 0;
    }
    A+, pat

  9. #8
    Creezys

    Re : Interruption et PIC16F877A

    Merci,
    maintenant c'est bon j'avais pas eu cette idée d'utiliser un appel au cœur de la fonction interrupt() Merci beaucoup pour votre aide je vous rassure que ça fonctionne à merveille Merci encore une fois!!

Discussions similaires

  1. PIC : interruption externe et interruption on change ?
    Par jlg_47 dans le forum Électronique
    Réponses: 10
    Dernier message: 09/04/2012, 12h41
  2. Pic16f877a!
    Par invite6ab74433 dans le forum Électronique
    Réponses: 0
    Dernier message: 24/05/2008, 17h34
  3. pic16f877A ROM
    Par inviteca539e75 dans le forum Électronique
    Réponses: 5
    Dernier message: 07/08/2007, 13h51
  4. pic16F877A // USBMOD4
    Par inviteca539e75 dans le forum Électronique
    Réponses: 0
    Dernier message: 09/07/2007, 14h54
  5. adc + pic16F877A+LCD
    Par invite412b515c dans le forum Électronique
    Réponses: 0
    Dernier message: 29/05/2007, 22h59
Découvrez nos comparatifs produits sur l'informatique et les technologies.