Bonjour,
J'ais repris la fonction suivante afin de pouvoir envoyer une trame d'octets sur un port RS232 (via un SerialPort)
*merci Pol63*
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 Public Class Octets Private _octets As New System.Collections.Generic.List(Of Byte) Public Sub Add(ByVal nb As Short) _octets.AddRange(BitConverter.GetBytes(nb)) End Sub Public Sub Add(ByVal nb As Integer) _octets.AddRange(BitConverter.GetBytes(nb)) End Sub Public Sub Add(ByVal nb As Byte) _octets.AddRange(BitConverter.GetBytes(nb)) End Sub Public ReadOnly Property GetOctets() As Byte() Get Return _octets.ToArray End Get End Property Public ReadOnly Property Count() As Integer Get Return _octets.Count End Get End Property End Class
pour ensuite m'en servir de la maniére suivante
Seulement il y a un soucis ...
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 'allocation de la memoire pour un tableau de 8 octets Dim octets(7) As Byte 'remplissage des octets 'avec des valeurs au hasard octets(0) = 2 octets(1) = 1 octets(2) = 83 octets(3) = 0 octets(4) = 6 octets(5) = 39 octets(6) = 98 octets(7) = 24 'crétation de la trame Dim oc As New Octets 'remplissage de la trame For ii As Integer = 0 To 7 oc.Add(octets(ii)) Next Dim test As Integer = oc.Count 'envoie de la trame spRS232.Open() spRS232.Write(oc.GetOctets, 0, oc.Count) spRS232.Close()
pour chaques Bytes compté, il me compte 2octets avec la fonction oc.count
au lieu d'un octet (un Byte c'est sur 8bites donc sa vaut 1octet normalement)
Comme je ne suis pas encore très a l'aise avec la création de fonction,
je voulais avoir l'avis d'une personne qui s'y connais plus que moi pour me dire d'ou vient cette erreur ...
Partager