VB envoyer des données avec le rs232
Répondre à la discussion
Affichage des résultats 1 à 30 sur 32

VB envoyer des données avec le rs232



Vue hybride

  1. #1
    invite00043ad3

    VB envoyer des données avec le rs232

    Bonjour à tous,

    je souhaite réaliser une interface VB me permettant d'envoyer des données en hexadécimal vers un microcontrolleur via le RS232.
    J'ai trouvé ceci : http://www.siteduzero.com/tuto-3-323...ort-serie.html qui m'explique comment paramétrer et envoyer des données au RS232. Toutefois, comment fait-on pour envoyer des données de type hexadécimal ou même binaire ? pour que mon microcontrolleur puisse y comprendre.
    dois-je juste faire par exemple au lieu de M dans l'exemple, mettre : $8 ou($)8 ?
    Il faut par exemple que si j'envoie 79 de l'interface au microcontrolleur, alors mon programme du microcontrolleur devra ouvrir tel port... si il reçoit 85 il ouvrira tel ports....


    Si quelqu'un a une petite idée sur l'envoie de données hexadécimale, je lui serais très reconnaissant

    Merci d'avance

    Bonne soirée

  2. #2
    invitee05a3fcc

    Re : VB envoyer des données avec le rs232

    Une liaison série ne connait que des octets. Donc si tu écris :
    Code:
    MSComm.Output = "M"
    MSComm.Output = chr$(77)
    Dans les deux cas il y a un octet binaire 01001101 ou l'héxa 0x4D qui est envoyé sur la liaison RS232

  3. #3
    invite74b5b8f7

    Re : VB envoyer des données avec le rs232

    Toutefois, comment fait-on pour envoyer des données de type hexadécimal ou même binaire ? pour que mon microcontrolleur puisse y comprendre
    Je ne sait pas si tu sais que que t´écrive un nombre en hexa, en décimal ou en binaire, dans tous les cas dans ton proc c´est inscrit en binaire!
    Donc il n´y a rien à faire (d´ailleurs, la lettre "M" ca n´est pas du binaire!)

  4. #4
    invite092cb13c

    Re : VB envoyer des données avec le rs232

    Bonjour
    Attention coté PC si le µC doit envoyer des données, les valeurs superieurs à 128, en dehors de la table ascii, peuvent avoir des effets curieux si on les affiche comme un ascii.
    Gilles

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

    Re : VB envoyer des données avec le rs232

    Pour l'instant je ne recçoit pas de données du µC. Je verrais cela plus tard.
    Je vais suivre cette procédure donc : MSComm.Output = chr$(77)
    Il me reste à voir maintenant comment gérer ces données dans le µC. C'est à dire que quand le µC reçoit 77 alors la pinA1 est activée. J'en ai pas la moindre idée je dois avouer.

    Sinon sur Visual Basic est-ce que vous savez comment faire pour lorsque j'appuie sur un bouton, outre les données envoyer avec le RS232, faire défiler un bloc, un objet. Je sais pas comment m'exprimer.
    Je vais essayer de prendre une image: Vous voyez les volets électriques qui s'ouvre et se ferme verticalement ? Les volets roulants, et bien j'aimerais avoir le même effet. En quelque sorte avoir un volet roulants qui monte quand j'appuie sur un bouton, ou s'arrête ou descend.
    Un truc de ce genre. Je sais pas si vous voyez ce que je veux dire.
    J'ai fais des recherches google mais rien ne va, je ne sais pas trop quoi mettre en mot clef lors de la recherche.

    Si quelqu'un sait comment on fait, il est le bienvenue

    Merci d'avance
    Bonne journée

  7. #6
    invitee05a3fcc

    Re : VB envoyer des données avec le rs232

    J'ai déjà entendu quelqu'un parler de ce truc
    Pour le Modo : Ce programme est copyright DAUDET78 (ainsi que les photos) et j'en autorise la publication.......
    Fichiers attachés Fichiers attachés

  8. #7
    invitee05a3fcc

    Re : VB envoyer des données avec le rs232

    Pour information je ne réponds JAMAIS par M.P.
    Citation Envoyé par Panda184
    L'envoie de donnée via le RS232 m'a l'air assez compliqué dans votre programme, ça me paraissait beaucoup plus simple dans le tutoriel que j'avais. J'utiliserais d'ailleurs la méthode du tutoriel dans mon programme, bien que cela doit revenir au même résultats que votre programme mais ça me parait plus abordable.
    Le programme d'écriture RS232 est ultra simple
    Code:
    MSComm1.Output = Cr$ + S1$ + S2$ + Lf$
    le programme de lecture RS232, je le fais dans Form_Activate (il y a d'autres solution)


    Citation Envoyé par Panda184
    Pourriez vous m'expliquer comment vous procédez précisément ? Ou si vous avez un tutorial qui l'explique, ça me convient parfaitement
    Il y avait deux volets à piloter, un seul (celui de gauche) est validé
    Code:
    Dim VoletUP%(2) ' si >0  volet à monter
    Dim VoletDOWN%(2)  ' si >0  volet à descendre
    Dim VoletHeight%(2) ' hauteur du volet

    Que signifie ceci ?
    Code:
    Private Sub Timer1_Timer()
    If VoletUP%(0) > 0 Then
        VoletUP%(0) = Volet(0).Height
        VoletUP%(0) = VoletUP%(0) - VoletHeight%(0) / 100
        If VoletUP%(0) > VoletMin% Then Volet(0).Height = VoletUP%(0)
    End If
    If VoletDOWN%(0) > 0 Then
        VoletDOWN%(0) = Volet(0).Height
        VoletDOWN%(0) = VoletDOWN%(0) + VoletHeight%(0) / 100
        If VoletDOWN%(0) > 0 Then Volet(0).Height = VoletDOWN%(0)
        If VoletDOWN%(0) > VoletMax% Then Volet(0).Height = VoletMax%: VoletDOWN%(0) = 0
    End If
    End Sub
    C'est la gestion de monté et de descente du volet "0". Cette routine est automatiquement appellée toutes les 50 millisecondes . Rien ne se passe si VoletDOWN%(0)=0 ET VoletUP%(0)=0


    Code:
    VoletUP%(0) = VoletHeight%(0)
    VoletDOWN%(0) = 0
    C'est pour fixer les paramètres d'ouverture des volets.

  9. #8
    invite00043ad3

    Re : VB envoyer des données avec le rs232

    Bien, merci pour ces précisions. Et désolé je ne savais pas que vous ne répondiez pas au MP.

    Par contre je n'ai jamais vu dans votre programme la création de l'objet volet. J'ai peut être sauté une étape, mais où se trouve t-elle dans le programme ?

    Merci encore

  10. #9
    invite00043ad3

    Re : VB envoyer des données avec le rs232

    Je n'ai rien dit, il est tout en bas du programme, je ne l'avais pas vu.

    Je vais essaer de faire mon programme, je vous tiendrais au courant.

    Par contre avez vous une idée pour gérer les données envoyés par le PC dans le µC ? J'utilise un PIC 16F877.

    Y a t-il une structure bien définit ?

    Merci encore

  11. #10
    invitee05a3fcc

    Re : VB envoyer des données avec le rs232

    Les "frames" Volet(0) et Volet(1)
    Je ne réponds pas en MP car c'est un forum et tout le a le droit de participer aux échanges, ce qui permet de donner des avis différents, de corriger des erreurs.

  12. #11
    invite00043ad3

    Re : VB envoyer des données avec le rs232

    Bien Merci en tout cas.
    Je suis en train de créer mon programme, je vous tiendrais au courant pour d'autres informations

    Euh juste une petite chose, est-ce vraiment important de voir les données qu'on envoie via le RS232 sur le programme ? Comme vous l'avez fait sur ce programme sur le côté gauche.
    J'ai bien envie d'essayer de le faire, mais comment procéder vu que je vais envoyer mes code hexadécimaux de cette manière:
    Code:
       1.
          Private Sub cmdEnvoi_Click()
       2.
           MSComm.CommPort = 1 
       3.
           MSComm.Settings = "4800,n,8,1" 
       4.
           MSComm.PortOpen = True 
       5.
           MSComm.Output = chr$(77) 
       6.
           MSComm.PortOpen = False 
       7.
          End Sub
    Et enfin dois-je vraiment à chaque fois mettre MSComm.PortOpen = False à la fin de chaque bouton ?
    Et est-ce que je peux mettre un if après le MSComm.PortOpen = True en disant que si MSComm.PortOpen = False alors un label dit qu'il n'y a pas de port activé.

    Merci encore

  13. #12
    invitee05a3fcc

    Re : VB envoyer des données avec le rs232

    1/ il n'y a pas de
    MSComm.PortOpen = False
    après chaque bouton dans mon soft. On ferme le port uniquement en sortant du programme (par le bouton "FIN" ou la "Croix"
    2/ Les fenêtres de visualisation des codes Hexa en entrée et en sortie servent uniquement à vérifier le bon fonctionnement du programme (en rebouclant la pin 3 sur la pin 2 du port) en absence de hard de volet à piloter

Discussions similaires

  1. Comment envoyer des données au Pc via USB
    Par invitedf8094fb dans le forum Électronique
    Réponses: 3
    Dernier message: 22/03/2012, 21h41
  2. Ecrire des donnees dans un fichier .txt avec MATLAB
    Par invitecd42c963 dans le forum Logiciel - Software - Open Source
    Réponses: 9
    Dernier message: 24/10/2011, 16h03
  3. envoyer des octets sur RC6/TX avec logipic ?
    Par invite701c9700 dans le forum Électronique
    Réponses: 2
    Dernier message: 23/06/2007, 17h18
  4. Envoyer des données à une télécommande depuis un PC
    Par invite07fb6ce3 dans le forum Électronique
    Réponses: 5
    Dernier message: 25/01/2007, 13h25
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...