Bonjour,
J'ais repris la fonction suivante afin de pouvoir envoyer une trame d'octets sur un port RS232 (via un SerialPort)
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
*merci Pol63*


pour ensuite m'en servir de la maniére suivante
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()
Seulement il y a un soucis ...
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 ...