Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

Communication serie Pic<->Pc



  1. #1
    MicroPuce

    Communication serie Pic<->Pc


    ------

    Salut,
    J'ai qq probleme de communication entre PIC et PC.
    Je teste mes bouts de code d'emission et réception coté PIC, l'emission est OK, pour tester la reception, j'envoie un octet au PIC qui devrait me le renvoyer en réponse. Mon probleme, c'est que, dès que j'envoie l'octet, le PIC envoie en continu, comme s'il ne voyait pas que j'ai lu l'information (dans RXREG), ce qui devrait reseter le bit RCIF de PIR1. Je suis en train de tourner la doc Microchip dans tous les sens, mais je seche, je ne vois absolument pas mon erreur
    Ca n'est pas non plus mon programme coté PC qui continuerait à emettre puisque le PIC continue à emettre même lorsque j'arrete le programme coté PC.
    C'est quoi l'astuce?
    Si ça peut vous aider à m'aider ;o) , v'là mon bout de code:
    RXmit:
    rxNotEnded:
    BTFSS PIR1,RCIF ;teste si data arrivée et ready
    GOTO rxNotEnded
    MOVF RCSTA,W
    MOVWF erreur ;recupere les erreurs
    MOVF RCREG,W ;Lecture de la donnée
    MOVWF lue ;donnée dans lue
    MOVF erreur,W ;erreurs dans W
    ANDLW h'06' ;Test si erreur
    BTFSC STATUS,Z ;Reset CREN si erreurs detectées
    GOTO fin
    BCF RCSTA,CREN
    BSF RCSTA,CREN
    fin:
    MOVF lue,W
    RETURN ;Renvoie la valeur dans W

    -----

  2. Publicité
  3. #2
    angeliz

    Re : Communication serie Pic<->Pc

    Bonjour

    perso je programme en c
    et des la reception d'un octet je place RCIF à 0 par soft.

    cordialement
    Angeliz

  4. #3
    MicroPuce

    Re : Communication serie Pic<->Pc

    Euhhh... RCIF est en lecture seule, non???
    Pour la prog en C, j'ai rien contre, sauf que j'ai pas de compilateur pour les 16F, µchip propose pour les 17 et 18, pour les 16, faut payer (

  5. #4
    angeliz

    Re : Communication serie Pic<->Pc

    Citation Envoyé par MicroPuce
    Euhhh... RCIF est en lecture seule, non???
    non pas du tout
    voci ma fonction C et en fin d'interruption je place RCIF à 0
    et ça fonctionne bien.

    static void interrupt inter() // Fonction d'interruption
    {
    if(RCIF)
    {
    cData=RCREG; // Place le caractère reçu dans cData
    CREN=0; // Désactive la réception de donnée
    bSerie=1; // bSerie passe à 1 pour indiquer au prog de traiter la donnée
    RCIF=0; // je reset ce bit
    }
    }

    bye
    Dernière modification par angeliz ; 22/05/2004 à 19h17.

  6. A voir en vidéo sur Futura
  7. Comparatifs

    Gagnez du temps et de l'argent grâce à nos comparatifs de produits. Parmi nos sujets :
  8. #5
    MicroPuce

    Re : Communication serie Pic<->Pc

    Sorry, mais le RCIF est effectivement en lecture seule (j'ai la doc µchip sous les yeux) et c'est la lecture de la donnée reçue dans RCREG qui reset ce bit. Par acquis de conscience, j'ai tout de même essayé si je fais un reset sur ce bit mais ça ne change rien pour moi (ce qui est plutôt logique)!!!
    J'en arrive à me demander si on peut utiliser la liaison série sans les interruptions, en scrutant seulement l'état du bit RCIF???
    Ca commence à me faire bien ch... ça fait plus d'une semaine que je suis dessus et j'ai pas avancé d'un pouce!

  9. #6
    angeliz

    Re : Communication serie Pic<->Pc

    t'as pas de bol
    mon prog fonctionne très bien avec le port serie
    tu utilises quel pic???

    bonne chance

  10. Publicité
  11. #7
    angeliz

    Re : Communication serie Pic<->Pc

    dans ton prog fait comme ça et ne t'occupes pas des erreurs
    et regarde si l'octet reçu est bon ,
    si octet pas bon voir l'initialisation du SSP

    RXmit:
    rxNotEnded:
    BTFSS PIR1,RCIF ;teste si data arrivée et ready
    GOTO rxNotEnded
    MOVF RCSTA,W
    MOVWF erreur ;recupere les erreurs
    MOVF RCREG,W ;Lecture de la donnée
    MOVWF lue ;donnée dans lue
    BCF RCSTA,CREN
    MOVF lue,W
    RETURN ;Renvoie la valeur dans W

    une fois l'octet lu reactive cren

    bye

  12. #8
    MicroPuce

    Re : Communication serie Pic<->Pc

    thank you,
    J'ai finalement réussi mais en utilisant une interruption!! J'ai l'impression que la lecture sur le port série ne fonctionne que dans ce mode, sinon, la lecture de la donnée dans RCREG ne reset pas le RCIF. J'ai pourtant bien relu la doc microchip, on devrait pouvoir utiliser la réception série sans utiliser les inter, mais moi, pas réussi
    Bizarre, bizarre...

  13. #9
    angeliz

    Re : Communication serie Pic<->Pc

    trop bien je suis content pour toi

    oui c'est possible sans les interruptions
    mais ce n'est pas conseillé, si ton pic doit faire autre chose.

    pour ma part c'est une bonne habitude de bien placer à 0 le bit ayant provoqué
    l'interruption une fois l'interruption traité.

    bye

  14. #10
    MicroPuce

    Re : Communication serie Pic<->Pc

    Citation Envoyé par angeliz
    pour ma part c'est une bonne habitude de bien placer à 0 le bit ayant provoqué
    l'interruption une fois l'interruption traité.
    Oui, c'est d'ailleurs ce que conseille µchip, mais dans notre cas, c'est le hardware qui le fais pour nous, c'est encore plus imple (quand ça marche )
    A+

  15. #11
    Bigonoff

    Re : Communication serie Pic<->Pc

    Salut
    -----

    Pour ma part c'est une bonne habitude de bien placer à 0 le bit ayant provoqué
    l'interruption une fois l'interruption traité.
    Je vois mal l'intérêt d'essayer de modifier un bit qui est en lecture seule.

    une fois l'octet lu reactive cren
    Si on coupe et qu'on réenclenche CREN durant la transmission, on risque fort de rater des octets.

    A+
    Bigonoff
    Vive l'Internet libre

  16. #12
    angeliz

    Re : Communication serie Pic<->Pc

    salut

    non mon prog fonctionne super bien bien et pas d'octet perdu

    bye

  17. Publicité
  18. #13
    Bigonoff

    Re : Communication serie Pic<->Pc

    Salut
    ------

    C'est parce que tu as de la chance que l'émetteur introduise une pause entre chaque octet.

    Sinon, ça ne fonctionnera pas

    Ce n'est donc pas la bonne méthode.
    Mais bon, ce n'est que mon avis, qui n'engage que moi

    A+
    Bigonoff
    Vive l'Internet libre

  19. #14
    angeliz

    Re : Communication serie Pic<->Pc

    Bonsoir
    non pas de pause
    la ou je bosse on utilise souvent ma routine sans problême

    bonne soirée

  20. #15
    Bigonoff

    Re : Communication serie Pic<->Pc

    Salut
    ------

    Alors tant mieux

    A+
    Bigonoff
    Vive l'Internet libre

Discussions similaires

  1. Communication PIC <-> PC port série
    Par Toufinet dans le forum Électronique
    Réponses: 7
    Dernier message: 27/05/2010, 15h13
  2. communication PC port serie freewre
    Par alainav1 dans le forum Électronique
    Réponses: 9
    Dernier message: 05/11/2007, 09h57
  3. Communication série sur ATMEL 89S2051
    Par Tony78 dans le forum Électronique
    Réponses: 5
    Dernier message: 17/07/2007, 11h38
  4. communication série avec 68HC11
    Par chrichri71 dans le forum Électronique
    Réponses: 5
    Dernier message: 30/01/2007, 21h42
  5. communication can pic C
    Par fabienf dans le forum Électronique
    Réponses: 1
    Dernier message: 23/02/2006, 13h59
Découvrez nos comparatifs produits sur l'informatique et les technologies.