Utilisation des composants com (axcom serialport)

Contenu du snippet

Dans ce code essai de comparaison des 2 composants Com (car tout le monde en parle mais ...
a part nous renvoyer sur la classe IO.ports pas beaucoup de reponses
Bref J'ai une application qui fonctionne Parfaitement a base de l'ancien composant COM 5
Lors d'une action sur le button connection a un appareil, envoi d'une commande T et lecture du buffer.
j'ai volontairement simplifier le code (pas de deco... pas de traitement)

j'essaye d'implementer a la place le nouveau composant serialport ... mais la: impossible de recuperer les données.
la j'aurrai besoin d'un coup de main car je cherche je cherche mais je bloque .. mais ou?

la class Form1 est une application window a laquelle sur le form est ajouté:
2 boutons pour la connexion (1 et 2)
2 textbox recuperant les données (1 et 2)
2 composants Com (l'ancien (1) et serialport (2) )

coment faire pour que 2 = 1 ?

Source / Exemple :


Public Class Form1
    'Sur Form1:
    ' 2 BOUTONS associés a 2 textbox + 2 composants :
    '1 = Ancien COM 5.0
    '2 = SérialPort Dotnet

    'CODE Fonctionnant parfaitement (COM 5.0)
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.AxCOM.CommPort = 1
        Me.AxCOM.Settings = "1200,n,7,2"
        Me.AxCOM.RThreshold = 1
        AddHandler Me.AxCOM.OnComm, AddressOf LectureFIC
        Me.AxCOM.PortOpen = True
        Me.AxCOM.Output = "T" & vbCrLf
    End Sub
    Private Sub LectureFIC(ByVal sender As Object, ByVal e As System.EventArgs)
        Do While Me.AxCOM.InBufferCount > 0
            Me.TextBox1.Text &= CType(Me.AxCOM.Input, String)
        Loop
    End Sub
    'Impossible de recuperer le buffer avec le sérialport
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.SerialPort.PortName = "COM1"
        Me.SerialPort.BaudRate = 1200
        Me.SerialPort.Parity = IO.Ports.Parity.None
        Me.SerialPort.DataBits = 7
        Me.SerialPort.StopBits = IO.Ports.StopBits.Two
        Me.SerialPort.ReceivedBytesThreshold = 1
        AddHandler Me.SerialPort.DataReceived, AddressOf LectureFIC2
        Me.SerialPort.Open()
        Me.SerialPort.Write("T" & vbCrLf)
    End Sub
    Private Sub LectureFIC2(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs)
        Do While Me.SerialPort.ReadBufferSize > 0
            Me.TextBox2.Text &= CType(Me.SerialPort.ReadChar, String)
        Loop
    End Sub

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.