SVP,comment envoyer une simple donnée via port série ,mais en utilisant un évene

Signaler
Messages postés
14
Date d'inscription
mercredi 25 mai 2011
Statut
Membre
Dernière intervention
20 juin 2011
-
Messages postés
14
Date d'inscription
mercredi 25 mai 2011
Statut
Membre
Dernière intervention
20 juin 2011
-
Bonjour,

au fait ,voila mon code :

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
com1.BaudRate = 9600
com1.Parity = Parity.None
com1.DataBits = 8
com1.StopBits = StopBits.One
If com1.IsOpen = False Then
com1.Open()
Endd if
com1.Write("!11,f")
Label13.Text = com1.ReadChar

If com1.IsOpen = True Then
com1.Close()
End If
End Sub

voila tout simple quoi ,mais moi je voudrai bien que le port soit actif dés le chargement de l'interface (form), le problème, c'est que j'ai essayer avec la "form.load" ,mais le programme s’exécute mais ne sort pas du private sub de du bouton ,il attend que le port exécute l'instruction "readchar" (j'en ai besoin pour lire une donnée) ,...
Entre temps ,j'ai besoin d'utiliser d'autre boutons et fonctions sur la même form ,mais j'y arrive pas ça bug! ,
Alors ma question est ,qu'es je dois utiliser comme code ,pour que le port fonctionne normalement ,sans qu'il fige l'autre partie du code ,même s'il s'auto s’exécute ??
au fait le port (com1) ,envoie une requête à un périphérique avec l'adresse noter précédemment dans le code "!11,f", et il attend la réponse du périphérique avec l'instruction readchar , mais j'ai besoin d'utiliser cette instruction plusieurs fois (en temps réel quoi) ,j'avais créer une boucle ,pour lire à chaque fois la réponse ,mais comme je l'ai déja dis ,ça bloqué l'interface ,jusqu'à ce que la boucle aura fini ces itérations ,.......

Votre aide me sera précieuse ,merci Beaucoup !! :)

6 réponses

Messages postés
14821
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 septembre 2021
156
Bonjour,

Tu peux voir cette source :
http://www.vbfrance.com/code.aspx?ID=42181

Sinon, regardes le BackGroundWorker pour utiliser un thread séparé.

Messages postés
14
Date d'inscription
mercredi 25 mai 2011
Statut
Membre
Dernière intervention
20 juin 2011

Merci pour la réponse ,
Bon, y'a bcp de choses que je comprends pas ,je suis débutant ,....
c'est quoi le backgroundworker ??
Messages postés
14821
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 septembre 2021
156
Bonjour,

Expliqué en français par Microsoft :
http://msdn.microsoft.com/fr-fr/library/8xs8549b%28v=vs.80%29.aspx

Pour faire court, c'est un thread facile à manipuler.

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
79
Pour la réception de données depuis un port série, il faut attendre que le port série déclenche l'évènement SerialPort1_DataReceived avant de vouloir lire son buffer.
Tout est expliqué dans l'aide.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
14
Date d'inscription
mercredi 25 mai 2011
Statut
Membre
Dernière intervention
20 juin 2011

Merci pour le lien,je vais scruter tout ça ,et faire mes éssai pour voir , j'en besoin tout façon ,que pour lire et écrire avec le port série ....merci
Messages postés
14
Date d'inscription
mercredi 25 mai 2011
Statut
Membre
Dernière intervention
20 juin 2011

@ jack : vous voulez dire , le HELP de VB.net

Comment faire simple avec le datareceiver? lire et écrire? merci