1 pièce(s) jointe(s)
Probleme sur la lecture du port serie
Bonjour a tous,
Je suis nouveau sur ce forum et je viens a vous pour resoudre un probleme que je n'arrive pas a solutionner depuis plusieurs jours:
je suis en train de m'initier a apprendre visual basic express 2010,j'ai développer une toute petite application qui doit permettre d envoyer et de recevoir une chaine de caractère a travers le port série vers une carte électronique que j'ai conçue:
Pour être plus précis j'envoie le caractère "D" a ma carte en cliquant sur un bouton de mon appli vb et ma carte me renvoie les caractère "abc" ainsi que le symbole " \0 " indiquant la fin de la chaine que je visualise cote vb dans une text box .
J'ai essayer ma carte avec hyperterminal de Windows et cela fonctionne parfaitement bien.
Avec mon code vb ci dessous l'octet est bien envoyer a ma carte par contre je ne recoit rien!et le seul message qui s'affiche est "faux" (dépassement du timer max)
voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| Public Class Form1
Dim data As String
Dim reponse As String = ""
Function ReceiveSerialData() As String 'recoit la chaine
Dim com1 As IO.Ports.SerialPort = Nothing
Try
com1 = My.Computer.Ports.OpenSerialPort("COM1")
com1.ReadTimeout = 5000
Do
Dim Incoming As String = com1.ReadLine()
If Incoming Is Nothing Then
Exit Do
Else
reponse &= Incoming & vbCrLf
End If
Loop
Catch ex As TimeoutException
reponse = "faux"
Finally
If com1 IsNot Nothing Then com1.Close()
End Try
Return reponse
End Function
Sub SendSerialData(ByVal data) 'envoie l'info "D"
Using com1 As IO.Ports.SerialPort =
My.Computer.Ports.OpenSerialPort("COM1")
com1.WriteLine(data)
End Using
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
data = "D"
SendSerialData(data) 'envoi la donnee
ReceiveSerialData() 'recoit la donnee
Me.temperature.Text = reponse 'ecrit la donnee dans une text box
End Sub
End Class |
j'ai mis en pièce jointe ma fenêtre avec les paramètres du port série,j'ai trouver le code pour utiliser le port serie sur ce lien
http://msdn.microsoft.com/fr-fr/library/7ya7y41k.aspx
Merci d'avance pour vos réponse car je commence a désespérer de ne pas pouvoir avancer davantage.
fred