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

communication rs232 via vb.net



  1. #1
    yassate

    communication rs232 via vb.net

    salut,
    je veut faire une communication entre vb.net et un pic16F877 par une liaison rs232;
    je fais la simulation sur proteus isis et j'utilise un logiciel Virtual Serial Port pour faire la liaison avec le vb.net .
    ce que je veut faire, c lors clique sur bouton (dans .net) j'envoie une donnée puis recevoir une donnée :

    SerialPort1.Write("12345OK")
    TextBox2.Text = SerialPort1.ReadExisting

    mais le problème est que après clique, les les données "12345OK" sont envoyée mais pas de réception. les donnee sont arrivee aprs un autre clique sur le bouton.

    la simulation sur isis fct très bien avec le virtuel terminal





    -----


  2. Publicité
  3. #2
    amoniaque

    Re : communication rs232 via vb.net

    Salut,

    Dans ton PIC, quel caractère de terminaison attends tu pour finir une chaîne reçue ?
    Es tu sûr d'avoir mis correctement les bits de stop, de parités etc etc ?

  4. #3
    yassate

    Re : communication rs232 via vb.net

    salut,


    le choix de vitesse,stop bit.... tout est bien
    et sa fonctionne très bien avec le hyperterminal

  5. #4
    amoniaque

    Re : communication rs232 via vb.net

    Citation Envoyé par yassate Voir le message
    salut,


    le choix de vitesse,stop bit.... tout est bien
    et sa fonctionne très bien avec le hyperterminal
    Cool, ça répond à ma seconde question.

    Par contre tu as oublié la première !

  6. #5
    yassate

    Re : communication rs232 via vb.net

    salut,

    le pic attend"OK" l'information pour moi c "12345"

    merci

  7. A voir en vidéo sur Futura
  8. #6
    amoniaque

    Re : communication rs232 via vb.net

    Citation Envoyé par yassate Voir le message
    salut,

    le pic attend"OK" l'information pour moi c "12345"

    merci
    Ok,

    Et il ressemble à quoi ton code ? Ton erreur doit venir de là si tu reçois correctement sur l'hyper terminal.

  9. Publicité
  10. #7
    yassate

    Re : communication rs232 via vb.net

    Citation Envoyé par amoniaque Voir le message
    Ok,

    Et il ressemble à quoi ton code ? Ton erreur doit venir de là si tu reçois correctement sur l'hyper terminal.
    merci,

    quel code ?
    les programmes des pic sont bien
    le probleme est dans le .net -je pense- la 2eme clique sur le bouton m'affiche le resultat precedent (du 1er clique)

  11. #8
    amoniaque

    Re : communication rs232 via vb.net

    Ôtes moi d'un doute (car tu n'as pas été clair).
    Les tests que tu as fait c'est :
    - ton logiciel en Vb.net qui communique avec ton PC (sur l'hyperteminal) (en gros un bouclage PC-PC) et là ton échange d'info' fonctionne

    OU

    - l'hyperterminal échange avec ton PIC et là ton échange d'info' fonctionne

    Sinon autre question : utilises tu les caractères de terminaison de ligne dans ton PIC ? Car si c'est le cas ton SerialPort1.Write() n'envoie pas de caractères de fin de chaîne, c'est SerialPort1.WriteLine() qui le fait .

  12. #9
    ftorama

    Re : communication rs232 via vb.net

    Tu exécutes les deux lignes l'une à la suite de l'autre?

    Dans ce cas c'est normal, "readexisting" est interrogé avant même que la réponse n'aie eu le temps d'arriver. Elles ne sont dans le buffer qu'au second click.

    Tu peux mettre un délai entre les deux fonctions, ou gérer les évènements de réception du port série pour résoudre ça

  13. #10
    yassate

    Re : communication rs232 via vb.net

    Citation Envoyé par ftorama Voir le message
    Tu exécutes les deux lignes l'une à la suite de l'autre?

    Dans ce cas c'est normal, "readexisting" est interrogé avant même que la réponse n'aie eu le temps d'arriver. Elles ne sont dans le buffer qu'au second click.

    Tu peux mettre un délai entre les deux fonctions, ou gérer les évènements de réception du port série pour résoudre ça
    merci,
    j'ai mis une tempo ..sa fct tres bien

  14. #11
    amoniaque

    Re : communication rs232 via vb.net

    Citation Envoyé par ftorama Voir le message
    Tu peux mettre un délai entre les deux fonctions, ou gérer les évènements de réception du port série pour résoudre ça
    +1 ! Bien vu.

    Et en effet tu peux utiliser l'évènement "SerialPort1.DataReceived" ce qui te permettra d'éviter de mettre des délais et d'avoir les données quand elles arriveront.

Sur le même thème :

Discussions similaires

  1. communication rs232 en c#
    Par azerty2010 dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 25/03/2011, 20h54
  2. communication impossible rs232
    Par babar2508 dans le forum Électronique
    Réponses: 21
    Dernier message: 09/10/2010, 16h45
  3. communication Modem-PC en vb.net
    Par hyacinthe11 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 07/07/2009, 18h25
  4. Communication asynchrone RS232
    Par Mattouf dans le forum Électronique
    Réponses: 2
    Dernier message: 15/02/2009, 17h12
  5. communication pic rs232
    Par alainav1 dans le forum Électronique
    Réponses: 14
    Dernier message: 24/03/2008, 15h03