Problemita usando el SerialPort ?

Iniciado por TrashAmbishion, 5 Junio 2013, 00:26 AM

0 Miembros y 1 Visitante están viendo este tema.

TrashAmbishion

Tengo una aplicación que hace función de Caller ID (Identificador de Llamadas) el soft trabaja bien, la duda surge porque hace poco lo trate de usar en un Modem MulTiTech puerto COM y no captura la información, entonces me puse a investigar y el problema es que ese modem no entrega los datos a la misma velocidad que otro modem (por ejemplo uno USB), la solución segun varios usuarios por la red es la de crear un buffer que lea la información (byte x byte) o algo asi, queria saber si alguien tiene alguna noción sobre el tema, entiende sobre lo que hablo aqui...

Les pongo el codigo que tengo actual para capturar la información...

Código (vbnet) [Seleccionar]


Delegate Sub SetTextCallback(ByVal [text] As String) 'Added to prevent threading errors during receiveing of data

Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
        ReceivedText(SerialPort1.ReadExisting())    'Automatically called every time a data is received at the serialPort
    End Sub

    Private Sub ReceivedText(ByVal [text] As String)
        'compares the ID of the creating Thread to the ID of the calling Thread
        If Me.InvokeRequired Then
            Dim x As New SetTextCallback(AddressOf ReceivedText)
            Me.Invoke(x, New Object() {(text)})
        Else
            SplitData([text])   'Esta es la función que me organiza los datos recibidos.
        End If
    End Sub