OVH Cloud OVH Cloud

[VB express 2005] port série

2 réponses
Avatar
oliv''''
Bonjour,

Je voudrais récupérer des données provenant d'une balance électronique sur
le COM1.

J'utilise le logiciel Advanced Serial Data Logger pour vérifier les flux, et
ça fonctionne nickel.

Sous VB, j'ai dans mon form un seul élément, un SerialPort.

J'ai mis dans les propriétés le BaudRate comme il faut, ainsi que le
DataBits, le Parity, et le StopBits.

Mais, quand je fais ceci, il ne se passe rien :

Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As
System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
MsgBox("test")
End Sub

Où est l'erreur ?

Je précise que je n'ai pas MScomm32.dll

Merci, Oliv'

2 réponses

Avatar
Fred
Dans : news:
oliv'''' écrit :
Bonjour,

Je voudrais récupérer des données provenant d'une balance
électronique sur le COM1.

J'utilise le logiciel Advanced Serial Data Logger pour vérifier les
flux, et ça fonctionne nickel.

Sous VB, j'ai dans mon form un seul élément, un SerialPort.

J'ai mis dans les propriétés le BaudRate comme il faut, ainsi que le
DataBits, le Parity, et le StopBits.

Mais, quand je fais ceci, il ne se passe rien :

Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e
As System.IO.Ports.SerialDataReceivedEventArgs) Handles
SerialPort1.DataReceived MsgBox("test")
End Sub

Où est l'erreur ?

Je précise que je n'ai pas MScomm32.dll



Bonjour,

Je n'ai pas encore testé ces classes du framework 2.0, mais il est très
probable qu'il faille spécifier le ReceivedBytesThreshold pour que
l'événement se déclenche (comme avec le MSComm32 du VB6).




--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
Avatar
Le vent de l''''est
Bonjour,

Si la longueur de trame est inconnue. Tu mets le ReceivedBytesThreshold à 1
et tu interceptes chaque caractère qui arrive.


Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As
System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived

TrameEntree = TrameEntree & SerialPort1.ReadExisting ’ TrameEntree est
public naturellement.

End Sub


Si la longueur de trame est connue ou fixe. Tu mets le
ReceivedBytesThreshold à la valeur voulue et tu interceptes toute la ligne.


Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As
System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived

TextBox1.Text = SerialPort1.ReadLine

End Sub


--
ALCEDO


"oliv''''" a écrit :

Bonjour,

Je voudrais récupérer des données provenant d'une balance électronique sur
le COM1.

J'utilise le logiciel Advanced Serial Data Logger pour vérifier les flux, et
ça fonctionne nickel.

Sous VB, j'ai dans mon form un seul élément, un SerialPort.

J'ai mis dans les propriétés le BaudRate comme il faut, ainsi que le
DataBits, le Parity, et le StopBits.

Mais, quand je fais ceci, il ne se passe rien :

Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As
System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
MsgBox("test")
End Sub

Où est l'erreur ?

Je précise que je n'ai pas MScomm32.dll

Merci, Oliv'