Port série et Visual Studio 2008
Résolu/Fermé
Hyades
-
1 juil. 2008 à 15:58
Hyades Messages postés 3 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 5 août 2008 - 10 juil. 2008 à 14:34
Hyades Messages postés 3 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 5 août 2008 - 10 juil. 2008 à 14:34
A voir également:
- Port série et Visual Studio 2008
- Microsoft visual c++ runtime - Guide
- Visual studio 2008 - Télécharger - Langages
- Telecharger fl studio 20 pour pc gratuit complet - Télécharger - Édition & Montage
- Visual paradigm - Télécharger - Gestion de données
- Visual studio 2017 - Télécharger - Langages
1 réponse
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
1 juil. 2008 à 16:00
1 juil. 2008 à 16:00
il faut mettre un timeout. tu peux faire ca avec un thread ...
3 juil. 2008 à 11:01
C'est sans effect, la com reste bloquée.
En modifiant le code :
On Error GoTo sort
Time_out.Enabled = True
Using port_com = My.Computer.Ports.OpenSerialPort(portName, baudRate, parity, dataBits, stopBits)
While port_com.BytesToRead > 0
retour &= port_com.ReadByte()
End While
End Using
GoTo fin
sort:
retour = "Erreur N°" & Err.LastDllError & " :" & vbCrLf & ErrorToString(Err.LastDllError)
fin:
Time_out.Enabled = False
On Error GoTo 0
J'obtient l'erreur :
Erreur N°87 :
Erreur définie par l'application ou par l'objet.
Je ne trouve rien sur cette erreur.
10 juil. 2008 à 14:34
J'ai bien avancé, le code ci-dessous fonctionne (bouchon rx-tx relié sur com1:)
Public Shared Sub transmission()
port.open()
port.WriteLine(emis_port)
Dim Thread_in As Thread = New Thread(AddressOf reception)
Thread_in.Start()
Thread_in.Join()
port.Close()
End Sub
Public Shared Sub reception()
Try
recep_port = port.Readline()
Catch ex As Exception
recep_port = ex.Message
End Try
End Sub
Mais, celà ne permet pas de relier mon PC à un équipement qui refuse une valeur "NewLine" en fin de com.
j'ai donc :
Public Shared Sub transmission()
port.open()
For I = 1 To Len(emis_port)
port.write(Strings.Mid(emis_port, I, 1))
Next
Dim Thread_in As Thread = New Thread(AddressOf reception)
Thread_in.Start()
Thread_in.Join()
port.Close()
End Sub
Public Shared Sub reception()
Try
recep_port = port.ReadExisting()
Catch ex As Exception
recep_port = ex.Message
End Try
End Sub
Mais là, les derniers caractères (entre 4 et 7 ) ne sont pas lu.
Qui aurait une idée ?
Merci d'avance