En fait le problème est aussi que l'on ne sait pas vraiment ce qu'il se passe dans la library que tu utilises.
Pourquoi n'as tu pas utilisé le framework .net ?
http://msdn2.microsoft.com/en-us/lib...erialport.aspx
Version imprimable
En fait le problème est aussi que l'on ne sait pas vraiment ce qu'il se passe dans la library que tu utilises.
Pourquoi n'as tu pas utilisé le framework .net ?
http://msdn2.microsoft.com/en-us/lib...erialport.aspx
Bon courage :)
Nan mais en fait j'y comprend rien du tout a ton lien !!
Et puis c'est quand même dingue je n'arrive pas a utiliser cet objet !!!
C'est tellement simple pourtant !!!
Je ne sais pas quoi faire !!! Je ne comprend pas du tout le lien que tu m'as donné, je n'arriverais jamais a m'en servir ...
Merci quand même !
le pire c'est que si je met ça :
Ca m'affiche le buffer !!!!!!!Code:MsgBox(Accueil.RichTextBox1.Text)
Allez courage :) voici un petit exemple de l'utilisation de la classe du framework, j'espère que cela pourra t'inspirer
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Dim port As System.IO.Ports.SerialPort PublicSub Form1() port = New System.IO.Ports.SerialPort("COM1") port.Open() AddHandler port.DataReceived, AddressOf DataReceived EndSub PrivateSub DataReceived(ByVal sender AsObject, ByVal args As System.IO.Ports.SerialDataReceivedEventArgs) If args.EventType = IO.Ports.SerialData.Eof Then MessageBox.Show(port.ReadLine()) EndIf EndSub
Lol j'ai exactement le même problème avec cette méthode !!!
Je désespère !!
YYYYYYYYEEEEEEEEEESSSSSSSSSSSS!!!
Ca y es j'arrive en fait a interagir avec l'affichage!!!
Mais j'ai évidemment un nouveau problème:
Il passe deux fois par la ligne!Citation:
Si tu éxécutes le code en pas à pas est ce qu'il passe par la ligne : label.Text = x (x contient la valeur du buffer ??)
Il y passe une seul fois ?
EDIT: au fait voici le code :
Et le problème c'est que le buffer n'est pas lu en entier et si je change la propiété de Read, ça marche plus!Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Delegate Sub _Affiche_ASCII(ByVal Buffer_Mesure_BALANCE As String) Private Sub SerialPortBalance_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPortBalance.DataReceived Dim nb_octet As Integer = Me.SerialPortBalance.BytesToRead ' on récupère le nombre d'octet présent dans le tampon Dim trame(nb_octet - 1) As Byte ' Tableau acceuillant les données au format byte Me.SerialPortBalance.Read(trame, 0, nb_octet) 'on lit le port Dim Buffer_Mesure_BALANCE As String = System.Text.Encoding.ASCII.GetString(trame) If Me.InvokeRequired Then Me.Invoke(New _Affiche_ASCII(AddressOf Traitement_Trames_BALANCE), Buffer_Mesure_BALANCE) End If End Sub
tu n'as pas un .ReadLine() ?
Heuu oui dsl j'ai oublié de venir dire que tout est résolu!!
J'ai utilisé le ReadLine effectivement...
Merci beaucoup en tout cas
:king:
Ahhhhhh ben voila ça marche :)
Bonne nouvelle, a bientot !