Probléme de communication serial port [Résolu]

Signaler
Messages postés
29
Date d'inscription
vendredi 8 mars 2013
Statut
Membre
Dernière intervention
8 mars 2013
-
Messages postés
29
Date d'inscription
vendredi 8 mars 2013
Statut
Membre
Dernière intervention
8 mars 2013
-
bonjour,

j'ai développer une apllication en VB pour un appareil fonctionnant sous Windows CE, j'arrive bien à emmetre des trame à partir de mon appareil, mais je ne reçoi rien.
De plus aprés plusieur envoi, j'ai une erreur dans le degogueur qui apparait.

voici mon code:

Public Class Form1
Dim recoi As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
SerialPort1.Open()
SerialPort1.Write("hello world")
End Sub

Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
Dim buf(20) As Byte
SerialPort1.Read(buf, 0, buf.Length)
recoi = buf(0).ToString & buf(1).ToString & buf(2).ToString
Label1.Text = recoi
Erase buf


End Sub
End Class

et l'erreur est: Control.Invoke must be used to interact with controls created on a separate thread.

savez vous pourquoi cela ne fonctionne pas? et pourquoi aprés plusieurs envoi ou mon programme fait rien, j'ai cet erreur?
A voir également:

25 réponses

Messages postés
29
Date d'inscription
vendredi 8 mars 2013
Statut
Membre
Dernière intervention
8 mars 2013

En fait j'ai une carte Picocom, qui est une petite carte fonctionnant sous Windows CE, là il n'y a pas de problème, tout fonctionne, la dalle tactile et tout. C'est sur ce système fonctionnant sous Windows Ce que j'exécute mon programme.

Sur cette carte, je relie sur un port RS232, un autre système indépendant, qui permet de gérer un écran avec une dalle tactile. Ce système ne possède pas de système d'exploitation, il fonctionne juste par trame RS232, on charge au préalable, une bibliothèque graphique au sein même de la carte, et on appelle ces boutons avec des trames RS232, en lui définissant les coordonnées X et y. une fois les boutons appelle, c'est la que je défini les zone tactile de cet écran et ou j'active la dalle. Et c'est à ce moment là que ce système envoi une trame toute les 700ms, en indiquant qu'elle zone de la dalle tactile est appuyé. Elle envoi 80 si rien est appuyer, ou 82 si les zone est appuyé etc. . . .


Et c'est donc pour contrôler cette carte que j'ai tout ces problèmes.

et au niveau des bug, lorsque je lance mon programme il n'y a aps d'erreur, mais le programme ne voit que les 1ere trames, et par la suite il n'affiche plus les trames qui arrivent.
Messages postés
29
Date d'inscription
vendredi 8 mars 2013
Statut
Membre
Dernière intervention
8 mars 2013

ce que je n'arrive pas à comprendren c'est que lorsque je lance mon programme sur mon pc, tout foncionne! mias dés que j'éxécute le programme sur windows Ce, ca ne fonctionne pas.
Messages postés
329
Date d'inscription
jeudi 20 novembre 2003
Statut
Membre
Dernière intervention
10 mai 2014
4
Ok je comprends mieux.

Mais là je n'ai aucune idée de ce qui peut se passer. Ne connaissant pas bien WinCE et surtout n'ayant pas du tout ce genre de matériel. Je ne peux pas faire de test pour essayer de voir.

Je suis déolé mais il va falloir que je m'arrête là.

Bon courage.


@+LIM
Messages postés
29
Date d'inscription
vendredi 8 mars 2013
Statut
Membre
Dernière intervention
8 mars 2013

en tout cas merci beaucoup!!!

au moins cela fonctione à 50%! lol
merci encore
Messages postés
29
Date d'inscription
vendredi 8 mars 2013
Statut
Membre
Dernière intervention
8 mars 2013

pour linstant j'essaye avec une autre métode, j'ai supprimer le datareceived, et j'utilise une temporisation qui fait la même chose que pour le data received. je vais bien voir.