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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager