elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación Visual Basic / Re: Problema comunicación Puerto Serie en: 30 Agosto 2015, 14:45 pm
Gracias por contestar,

primero abro el puerto con esta instrucción al activar un botón:

 
Código:
Private Sub BtnConnectar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnConnectar.Click

        If BtnConnectar.Text = "CONECTAR" Then

            Try

                With SpPort
                    .BaudRate = 9600
                    .DataBits = 8
                    .Parity = IO.Ports.Parity.None
                    .StopBits = IO.Ports.StopBits.One
                    .PortName = CboPorts.Text
                    .Encoding = System.Text.Encoding.GetEncoding(1252)
                    .DiscardNull = False
                  

                    .Open()


                End With

                BtnConnectar.Text = "DESCONECTAR"
                BtnEnviarDades.Enabled = True

            Catch ex As Exception
                MsgBox(ex.Message, MsgBoxStyle.Critical)
            End Try

        ElseIf BtnConnectar.Text = "DESCONECTAR" Then
            BtnConnectar.Text = "CONECTAR"
            BtnEnviarDades.Enabled = False
            SpPort.Close()
        End If

    End Sub

Luego para recibir los datos entrantes hago servir delegados:

Código:
Private Sub AccesFormPrincipial(ByVal TextForm As String)
        StrBufferEntrada = TextForm
        TxtDadesRebudes.Text &= StrBufferEntrada 'Muestro las dadas recibidas en un textbox
      
    End Sub
  
     
Código:
Private Sub DadaRebuda(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SpPort.DataReceived

Dim DadaInterrupcio As String

        DadaInterrupcio = SpPort.ReadExisting
        PortaAccesInterrupcio(DadaInterrupcio)

    End Sub
Código:
Private Sub PortaAccesInterrupcio(ByVal BufferIn As String)

        Dim TextInterrupcio() As Object = {BufferIn}
        Dim DelegatInterrupcio As DelegatAcces
        DelegatInterrupcio = New DelegatAcces(AddressOf AccesFormPrincipial)
        MyBase.Invoke(DelegatInterrupcio, TextInterrupcio)

    End Sub

Sería esta parte
2  Programación / Programación Visual Basic / Problema comunicación Puerto Serie en: 30 Agosto 2015, 04:47 am
Buenas,

He creado un programa para enviar y recibir tramas hexadecimales a través de un puerto serie en visual basic.
Al testear el programa veo que las tramas se envian correctamente (usando lenguaje ascii), pero a la hora de recibir las tramas, cuando se encuentra un zero termina la comunicación.
Por ejemplo si tengo que recibir 10 49 3B 16 lo recibio perfecto, pero si tengo que recibir 10 49 00 3B 16 solo recibo 10 49.

Alguien puede ayudarme?

Gracias de antemano
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines