Lecture sur port com

Signaler
Messages postés
259
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
5 février 2015
-
Messages postés
14765
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 janvier 2021
-
Bonsoir à tous,

J'ai ecrit un bout de code pour envoyer des données sur la broche tx de mon port serie
avec  SerialPort.Write(TextBox1.Text)

je souhaiterai maintenant faire l'inverse recevoir des données sur ma broche RX et les affichées dans un textbox

je pensais faire : Serialport.read(textbox2) Est-ce correct ?

Est-ce que je dois redeterminer les parametres de mon port pour la reception ?

Merci pour votre aide

A+

10 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Je dirais qu'à priori tout est correct.

Rien à redéterminer au niveau du port, à partir du moment ou les paramètres de communications avec le périphérique ne changent pas.

Avant de lire, il faudra peut-etre juste vérifier que des octets ont été reçus, ou que, si tu sais combien d'octets tu attend, vérifier qu'ils sont bien tous arrivés avec la méthode BytesToRead.
La transimission prennant un certain temps, ton programme va certainement etre pret à lire avant que la totalité des données soient reçues, il faudra soit attendre, soit lire les données petit bout par petit bout.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
259
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
5 février 2015

Merci Casy pour ta réponse

Pour me faire la main sur "Le port com" je pensais faire un cable de test en reliant TX à RX pin 2 et pin 3 sur mon cable serie
Donc si j'envoi quelque chose sur mon port je le recoie immediatement sur ma broche RX
Mais comment traiter cela par programme ?
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Oui, à condition de ne définir aucun protocole de transmission (propriété Handshakes sur None)

Comment le traiter par programme ? c'est simple, dès que tu vas faire un .Write, tes octets seront envoyés sur le Tx et donc reçus sur le Rx.

Il ne te restera plus qu'à aller lire ce que tu as reçu avec un .Read

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
259
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
5 février 2015

j'ai une erreur du genre

La résolution de surcharge a échoué, car aucun 'Read' accessible n'accepte ce nombre d'arguments. 
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
qu'utilise-tu comme code pour lire les données ?

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
14765
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 janvier 2021
151
Bonjour

Normal, tu lui passe une TextBox, et pas une chaine ...
Regarde dans l'infobulle qui apparait, tu verra toutes les surcharges (ou l'aide MSDN est aussi bonne conseillère).

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
259
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
5 février 2015

Bonsoir à tous

Merci à vous 2 pour votre aide

J'ai toujours mon erreur
Voici mon code :

Private

Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.Click 

SerialPort.Write(TextBox1.Text.ToString)

SerialPort.Read(TextBox2.Text.ToString)

 

End
Sub

A+
Messages postés
14765
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 janvier 2021
151
Bonjour

Une erreur, laqualle ?
aus fait, pas desoin de .ToString, .Text suffit, cela retourne déjà un String, pas besoin de String.ToString

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
259
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
5 février 2015

Voila mon erreur à la reception des données :

La résolution de surcharge a échoué, car aucun 'Read' accessible n'accepte ce nombre d'arguments. 
A+
Messages postés
14765
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 janvier 2021
151
Bonjour

Regarde dans l'aide MSDN (F1 sur Write) et tu auras la liste des surcharges.

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site