[Numérique] problème sur l’interruption pic18f2620
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

problème sur l’interruption pic18f2620



  1. #1
    invite7d5dae0c

    problème sur l’interruption pic18f2620


    ------

    bonjour a tous, j'ai fait une communication avec deux modules XBee avec deux pic18f2620, je connecté la pine data-out de la module Xbee avec la pine B1 de la pic puisque elle fonctionne en interruption, mais malheureusement le pic perde une partie de la donnée captée par le module xbee, j'ai essayai de résoudre la problème mais j'arrive pas à aucune solution. aidé moi et merci d'avance. voila le code que je développer.
    Code:
    #include <18f2620.h>
    
    #fuses HS,NOPROTECT,NOLVP,NOWDT
    #use delay(clock=20M) 
    #use i2c(master,sda=PIN_C4,scl=PIN_C3) 
    #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,stream=PC)
    #use rs232(baud=9600,parity=N,xmit=PIN_C2,rcv=PIN_B1,bits=8,stream=Xbee)
    
    #include <stdio.h>
    #include <stdlib.h>
    
    #define LED4   PIN_C5
    
    char command[3];
    char cmde[3];
    int8 cmd,val;
    //-----------------------------------
     
    
    
    #int_ext1
     void ext_isr()
    {
     fgets(command,Xbee);
     fprintf(PC,"commande=%s\r\n",command);
     strcpy(cmde,command);
    //! fprintf(PC,"\r\n%s",cmde);
    }
    
    
    void main()
    {
         enable_interrupts(INT_RDA);
         enable_interrupts(INT_EXT1);
          enable_interrupts(GLOBAL);
       
    
      while(true) 
      {
    delay_ms(10000);
      
    //!
    
      }
    }

    -----
    Dernière modification par Antoane ; 04/03/2016 à 16h58. Motif: ajout balises code

  2. #2
    invite5637435c

    Re : problème sur l’interruption pic18f2620

    Bonjour,

    pas très étonnant, on ne fait pas comme ça.
    Dans la boucle d'interruption on ne fait rien d'autre que de détecter la source d'interruption ensuite on traite dans la boucle principale.
    Et on utilise pas ce type de fonction bloquante: delay_ms() quand on utilise les interruptions.
    Bref tout est à revoir...

  3. #3
    paulfjujo

    Re : problème sur l’interruption pic18f2620

    bonjour,


    Delay.. est dans le main ...

    Code:
     fgets(command,Xbee);
    par contre, est-ce que cette fonction est bloquante ..
    on sort de cette fonction que si on a recu quelque chose ?

    de plus on ne sait pas quelle st la source de " ext_isr()"
    Ta source d'interruption doit, en principe doit armer un flag identifiant la source, que l'on doit tester dans la routine d'interruption
    et de meme le flag AUTORISATion de ladite interrupt doit etre à 1.
    Le flag d'interrupt devant etre mis à zero , à l'interrieur du traitement d'interrupt.

    ton code n'es pas clair ou suffisament explicite pour t'aider..
    Verifie d'abord le principe de l'interruption.

  4. #4
    invite5637435c

    Re : problème sur l’interruption pic18f2620

    Oui justement.

    Si delay() est en cours ton interruption ne sera pas vue, les fonction delay sont en général bloquante (les interruptions sont stoppées).
    Sur ce compilo je ne sais pas.
    Il vaut mieux faire un delay interruptif, c'est toujours plus propre.
    Surtout quand on veut traiter des échanges rapides...

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

    Re : problème sur l’interruption pic18f2620

    En plus avec un quartz à 20MHz...

    Une tempo de 10s, il peut s'en passer des choses pendant ce temps là, tu m'étonnes qu'il rate des choses.

  7. #6
    paulfjujo

    Re : problème sur l’interruption pic18f2620

    avec ce compilo je ne sais pas non plus...
    mais avec C18 MPLAB et MikroC .. les delais sont fait par des compteurs de boucles imbriquées
    donc non bloquant car interruptible...

    par contre le Fget ? et le manque de flag designant la source d'interrupt ?

Discussions similaires

  1. probleme de config PIC18F2620
    Par invitee13c535c dans le forum Électronique
    Réponses: 3
    Dernier message: 07/12/2011, 21h49
  2. Problème avec le PIC18F2620
    Par inviteea4af38b dans le forum Électronique
    Réponses: 3
    Dernier message: 22/05/2011, 00h00
  3. Pic18F2620 - usart - Rs232 - ascii
    Par invite960f35e5 dans le forum Électronique
    Réponses: 52
    Dernier message: 28/08/2008, 17h03
  4. utilisation PIC18F2620
    Par invite9b9d0eb8 dans le forum Électronique
    Réponses: 0
    Dernier message: 22/11/2006, 09h07
  5. [Pic18F2620]Configuration du Timer
    Par invitef0dd4a99 dans le forum Électronique
    Réponses: 0
    Dernier message: 03/05/2005, 20h00
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...