Probléme de communication serial port

Résolu
byllu Messages postés 29 Date d'inscription vendredi 8 mars 2013 Statut Membre Dernière intervention 8 mars 2013 - 16 févr. 2010 à 14:40
byllu Messages postés 29 Date d'inscription vendredi 8 mars 2013 Statut Membre Dernière intervention 8 mars 2013 - 18 févr. 2010 à 09:26
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?

25 réponses

byllu Messages postés 29 Date d'inscription vendredi 8 mars 2013 Statut Membre Dernière intervention 8 mars 2013
18 févr. 2010 à 08:46
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.
0
byllu Messages postés 29 Date d'inscription vendredi 8 mars 2013 Statut Membre Dernière intervention 8 mars 2013
18 févr. 2010 à 09:00
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.
0
cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 7
18 févr. 2010 à 09:23
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
0
byllu Messages postés 29 Date d'inscription vendredi 8 mars 2013 Statut Membre Dernière intervention 8 mars 2013
18 févr. 2010 à 09:25
en tout cas merci beaucoup!!!

au moins cela fonctione à 50%! lol
merci encore
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
byllu Messages postés 29 Date d'inscription vendredi 8 mars 2013 Statut Membre Dernière intervention 8 mars 2013
18 févr. 2010 à 09:26
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.
0
Rejoignez-nous