Autor Tema: vb.net - Conversion char, byte y puerto serie  (Leído 3017 veces)

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

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
vb.net - Conversion char, byte y puerto serie
« en: 06 de Septiembre de 2015, 16:08:49 »
Buenas, estoy realizando una aplicacion en vb.net (ya me voy a pasar a c#) para conectarme con un uC por un virtual serial port.

Para enviar un byte (comando) uso este código:
Código: [Seleccionar]
    Private Sub SendCommand(ByVal command() As Byte)

        Dim response As Byte

        Try

            myComPort.Write(command, 0, 1)
            response = myComPort.ReadByte

        Catch ex As TimeoutException
            MessageBox.Show(ex.Message)

        Catch ex As InvalidOperationException
            MessageBox.Show(ex.Message)

        Catch ex As UnauthorizedAccessException
            MessageBox.Show(ex.Message)

        End Try
    End Sub

Para poder enviar un byte bien, tengo que usar ese método, en donde paso un array de byte al metodo myComPort.Write. Si uso la forma Write(byte) y en byte tengo, por ejemplo el número 76, me envía el 7 y el 6. probe de mil formas y con write(byte) no lo pude hacer funcionar. En cambio con write(byte(), start, cantidad) si me anda.

Bueno, al presionar un boton de comando tengo esto:

Código: [Seleccionar]
    Private Sub btnG_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnG.Click
        Dim vIn As Char = "G"
        Dim vOut(1) As Byte
        vOut(0) = Convert.ToByte(vIn)
        SendCommand(vOut)
    End Sub

acá me pasa lo mismo, si no declaro vIn como char y quiero hacer directamente
Código: [Seleccionar]
vOut(0) = Convert.ToByte("G") me dice que el parametro ("G") no es del tipo esperado...

Como ven tengo problemas con la conversion de tipos... como puedo simplificar el código del botón de comando?

Saludos!
-
Leonardo Garberoglio