Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 43

probleme recption série



  1. #1
    chestercat

    probleme recption série


    ------

    Bonjour,

    Je suis sur un projet avec un pic 16f877, je dois communiquer avec un pc grâce à un max232 or j'arrive plus ou moins à obtenir des caractères en réception(sur l'ordinateur) même si certains ne sont pas bon de temps en temps. Mais le pic reçoit toujours 255 ou rien quand j'essaye de réceptionner un caractère. et la plupart du temps il plante.
    Je ne sais plus où chercher est-ce plutôt un problème de hard, je pense pourtant au niveau soft avoir tout configurer parité, baud rate etc...

    Auriez-vous une idée s'il vous plaît?
    Je peux poster un bout du code que je teste en ce moment si vous voulez le regarder.
    Y-a-t-il des erreurs classiques de débutants??

    Merci pour votre temps.

    Tig

    -----

  2. Publicité
  3. #2
    DAUDET78

    Re : probleme recption série

    1/ tu utilises quel programme sur le PC? Hyperterminal?
    2/ Tu es à quelle vitessse de transmission
    3/ as tu un oscilloscope
    Le seul point ou je peux t'aider, c'est la réception sur le PC.
    Citation Envoyé par chestercat Voir le message
    même si certains ne sont pas bon de temps en temps.
    Ca c'est pas normal. Erreur de vitesse?
    J'aime pas le Grec

  4. #3
    chestercat

    Re : probleme recption série

    Bonjour et merci de votre réponse,

    En fait j'utilise pour la réception un programme de test fait en VB que j'ai trouvé sur le net mais j'aimerais plutôt utiliser l'hyperterminal pour l'émission mais dans l'hyperterminal je ne recois jamais rien.

    J'ai essayé plusieurs vitesse de transmission aucune ne fonctionne mieux, là je suis en 4800bauds mais j'ai un convertisseur usb-serial peut-etre est-ce lui le probleme qui change la vitesse de transfert(mais je ne pense pas).

    Je n'ai malheureusement pas d'oscilloscope pour voir mes signaux.

    Mon pic est programmé en C avec CCS.

    Merci

  5. #4
    lil-vince

    Re : probleme recption série

    Salut,

    Sous hyperterminal t´as bien mis "aucun controle de flux" ?
    Sinon je ne errais qu´un problème de synchronisation (pourtant en 4800bds !?) T´as une UART sur ton PIC ou tu l´as émulée?

    T´as quelle longueur de cable (au cas où)?

    Tu fais quoi dans ton prog, t´es sur que ca vient de la communication et pas d´une erreur de prog? (met ton prog s´il est pas trop long)
    Perso, la premiere fois que j´ais fait une UART PC-microprocesseur, j´ai commencer par simplement renvoyer le caractere recu par mon processeur (donc sous hyperterminal quand je tapais sur une touche le micro recevait le char, le renvoyait immédiatement tel quel et donc elle devait apparaitre à l´écran...)
    Dernière modification par lil-vince ; 12/03/2008 à 09h38.

  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
    DAUDET78

    Re : probleme recption série

    Fait un programme qui expédie vers le PC une chaine "ABCDEF" toute les secondes, la réception doit être impeccable en VB6 ou hyperterminal. Sinon tu as un problème de vitesse d'émission (seul solution, voir la largeur du bit au scope, 0,21ms +-5%)
    J'aime pas le Grec

  9. #6
    chestercat

    Re : probleme recption série

    Mon cable est petit pour la partie rs232 mais assez grand pour le cable usb (1m) après la transformation.

    Mon pic a une uart intégré.

    Je vais essayé de faire le programme que vous dites avec renvoie automatique du caractère dans l'hyperterminal.

    Sinon j'ai fait un petit programme qui expedie "ok", "1","2","3","---ok---" et maintenant la réception est bonne.

    Je teste ça avec hyperterminal et si ça marche je posterais mon programme en vb car c'est peut-etre bien lui le problème.

    Merci en tout cas de votre aide, ça me redonne un bon coup de motivation.

  10. Publicité
  11. #7
    chestercat

    Re : probleme recption série

    Je viens de tester la chaine de caractère ABCDEF toutes les secondes et voilà ce que j'obtiens:

    A?c?Q?AbC?EFA?C?EFA?c?EFA?C?EF A?C?EF

  12. #8
    chestercat

    Re : probleme recption série

    Par contre avec hyperterminal la réception est nikel

  13. #9
    DAUDET78

    Re : probleme recption série

    Tu as un problème de vitesse à mon avis et si tu envoies uniquement un "A" ou un "B" toutes les secondes?
    PS/ vu ton deuxième message, donc si c'est nickel avec hyperterminal, c'est que la vitesse est bonne. donne moi ton programme VB6 (complet en ZIP)
    J'aime pas le Grec

  14. #10
    lil-vince

    Re : probleme recption série

    Les points d´interrogation sont toujours des points d´interrogation ou c´est n´importe quel caractere?
    Si c´est toujours des points d´interrogation, tu püeux te baser sur le code ASCII de celui ci pour comprendre ce qu´il recoit....

    Sinon j'ai fait un petit programme qui expedie "ok", "1","2","3","---ok---" et maintenant la réception est bonne.
    Avec hyperterminal ou ton VB ?

    T´as quoi comme horloge pour le PIC ? (Précise ou pas?)

  15. #11
    chestercat

    Re : probleme recption série

    J'aimerais essayer de faire apparaitre le char sur hyperterminal mais quand j'appuie sur une touche du clavier rien ne se passe en réalité en faisant dérouler le programme du pic pas à pas il bloque sur getc(), je comprends pas c'est pourtant une commande on ne peut plus simple.

  16. #12
    chestercat

    Re : probleme recption série

    Mon pic a une horloge 20MHz un quartz

  17. Publicité
  18. #13
    chestercat

    Re : probleme recption série

    Mon programme est en VB 2005 je peux quand même vous l'envoyez?

  19. #14
    chestercat

    Re : probleme recption série

    voila le prog en VB 2005
    Fichiers attachés Fichiers attachés

  20. #15
    lil-vince

    Re : probleme recption série

    faisant dérouler le programme du pic pas à pas il bloque sur getc(), je comprends pas c'est pourtant une commande on ne peut plus simple.
    C´est sur que si t´as une UART intégrée, y a pas beaucoup plus simple!
    Ca doit donc etre:
    -Soit probleme d´initialisation
    -Soit probleme d´interruption (ca rejoint les initialisations d´ailleurs)

    Il y a quoi dans ton getc()?

    Si tu veux eb´nvoyer ton VB vas-y mais apparemment t´as aussi un probleme avec le PIC si ca ne fonctionne pas avec hyperterminal...

  21. #16
    DAUDET78

    Re : probleme recption série

    Citation Envoyé par chestercat Voir le message
    voila le prog en VB 2005
    Ah zut, je suis en VB6 .... donc je peux pas tester, mais je regarde le listing ce soir
    J'aime pas le Grec

  22. #17
    chestercat

    Re : probleme recption série

    Encore plus bizarre j'ai fait le prog qui renvoit un caratère sur l'hyperterminal et surprise seules certaines touches fonctionnent et renvoient des caractères vraiment très bizarres les touches: A P D enter H * et B sont les seules à écrire quelquechose mais c'est n'importe quoi.

  23. #18
    chestercat

    Re : probleme recption série

    Il y a quoi dans ton getc()?
    Getc() est intégré dans ccs donc je sais pas trop comment regarder dedans.

  24. Publicité
  25. #19
    lil-vince

    Re : probleme recption série

    Getc() est intégré dans ccs donc je sais pas trop comment regarder dedans.
    Il doit être dans un fichier .h, en général dans "stdio.h" ou une librairie specifique à l´UART...

  26. #20
    chestercat

    Re : probleme recption série

    dans stdio.h il n'y a que ça

    Code:
    #ifndef _STDIO
    #define _STDIO
    #include <string.h>
    #ifndef getc
    #define getc getch
    #define getchar getch
    #define puts(s) {printf(s); putchar(13); putchar(10);}
    #define putc putchar
    #endif
    /* maps error number to an error message. Writes a sequence of characters to
    stderr stream thus: if s is not null then string pointed to by s follwed by
    a colon (:) and a space and the appropriate error message returned by strerror
    function with argument errno
    
    Returns: no value
    */
    
    #ifdef _ERRNO
    void perror(char *s)
    {
      if(s)
      fprintf(STDERR,"%s: ",s);
      fprintf(STDERR,"%s\r\n",strerror(errno));
    }
    #endif
    #endif

  27. #21
    lil-vince

    Re : probleme recption série

    #include <string.h>
    #ifndef getc
    #define getc getch
    Ca doit etre dans string.h alors ?

  28. #22
    chestercat

    Re : probleme recption série

    Je comprends pas pourquoi le pic ne recoit rien et bloque sur getc()!!!
    Si je fais le teste du bit arrivant dans le buffer (kbhit), il n'est jamais validé. Peut-etre est-ce mon max232 qui est mal câblé?
    Il marche en émission et pas réception (si on parle du pic vers PC). J'ai pourtant vérifier 100 fois mes cablages mais on n'est jamais à l'abri d'une etourderie.

  29. #23
    chestercat

    Re : probleme recption série

    Il n'est pas non plus dans string.h c'est fou tout de même

    En tout cas je te remercie du temps que que tu me consacres. C'est vraiment sympa de ta part.

  30. #24
    lil-vince

    Re : probleme recption série

    Bah, la comme ca pas facile à dire!
    C´est sur qu´un oscillo ne serait pas superflu...
    T´as revérifié tes initialisation si t´es sur de ton cablage?

  31. Publicité
  32. #25
    lil-vince

    Re : probleme recption série

    Il n'est pas non plus dans string.h c'est fou tout de même

    En tout cas je te remercie du temps que que tu me consacres. C'est vraiment sympa de ta part.
    Tu inclus d´autres fichiers dans ton programme?

    Sinon de rien...

  33. #26
    chestercat

    Re : probleme recption série

    Pour l'instant j'ai réduit tout au strict minimum pour tester cette connexion donc y a plus grand chose à part ce getc() ou getch(). Pour ce qui est des initialisations il y le #use rs232 et sa config, et sinon?
    J'ai pas allumé les interruptions peut-etre que ça marcherait mieux avec la INT_RDA qu'en penses-tu???

    Je sais pas trop me servir des INT mais je vais tenter.

  34. #27
    lil-vince

    Re : probleme recption série

    J'ai pas allumé les interruptions peut-etre que ça marcherait mieux avec la INT_RDA qu'en penses-tu???
    Desole je ne connais pas les PIC mais si tu ne trouves pas Getc(), c´est peut-être qu´il n´existe pas et c´est pour ca que ca bloque???
    C´est quoi #use rs232 ?

  35. #28
    chestercat

    Re : probleme recption série

    Juste une question au cas où, quand t'appuie sur le clavier dans l'hyperterminal y'a rien d'autres à faire il doit détecter la char c'est ça?
    Parce que ça donne l'impression que l'hyperterminal n'envoie rien du tout au final.

  36. #29
    chestercat

    Re : probleme recption série

    #use rs232 c'est pour dire au pic que tu vas utiliser le port série

  37. #30
    lil-vince

    Re : probleme recption série

    Juste une question au cas où, quand t'appuie sur le clavier dans l'hyperterminal y'a rien d'autres à faire il doit détecter la char c'est ça?
    Parce que ça donne l'impression que l'hyperterminal n'envoie rien du tout au final.
    Oui, il faut le parametrer correctement bien sur!

    Sinon avec juste un multimètre tu peux détecter la variation de tension sur la ligne rs232 (car il y a une variation de 20V quand même) donc regarde ce que ca donne quand t´envois des char avec hyperterminal...
    Si tu detecte une variation de tension c´est que ca envois bien quelque chose...

    Moi je chercherais coté initialisation de l´UAR du PIC...
    #use rs232 c'est pour dire au pic que tu vas utiliser le port série
    Oui mais ca fait des initialisations?

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. Problème série
    Par Yuyuyu dans le forum Mathématiques du supérieur
    Réponses: 16
    Dernier message: 05/01/2008, 08h47
  2. problème de série entière
    Par christophe_de_Berlin dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 25/09/2007, 10h39
  3. Probleme de serie .
    Par lolouki dans le forum Mathématiques du supérieur
    Réponses: 9
    Dernier message: 24/10/2006, 18h50
  4. probleme de série
    Par christophe_de_Berlin dans le forum Mathématiques du supérieur
    Réponses: 23
    Dernier message: 10/01/2006, 21h47
  5. cette solution de serie/parallele/serie fonctionne-t-elle
    Par ABN84 dans le forum Électronique
    Réponses: 17
    Dernier message: 19/08/2005, 14h29
Découvrez nos comparatifs produits sur l'informatique et les technologies.