CLR: .Net / Mono / Boo / Otros CLR > VB .NET

 Errores con el uso del puerto serie, envio y recepcion

(1/1)

Kain589:
Saludos! Pues queria compartir con vosotros una duda, estoy desarrollando un sistema con un microcontrolador y necesito en mi diseño realizar la comunicacion serie del ordenador con el microcontrolador.

La aplicacion de VB almacena en un array 4 valores, y cuando estan todos los manda por el puerto serie. El microcontrolador recibe los 4 bytes, y responde con el de mayor valor. El programa del microcontrolador lo he comprobado usando el hyperterminal y funciona bien, sin hacer nada extraño.

El problema es que por mas que he buscado, no encuentro un codigo para trabajar en Visual Basic Express con datos tipo byte a traves del puerto serie. A partir de algunas rutinas que trabajan con cadenas de caracteres, escribi el siguiente codigo :


--- Código: Visual Basic ---'Se declara 1 delegado_Tendra como dato de referencia una variable data del tipo Byte          Delegate Sub delegado(ByVal data As Byte               ...........         Private Sub sp_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles sp.DataReceived         Dim recepcion As Byte         recepcion = sp.ReadByte         Dim escribeport As New delegado(AddressOf Me.mostrar)         Me.Invoke(escribeport, recepcion)     End Sub      Sub mostrar(ByVal b As Byte)         Consola.AppendText("El Puerto Recibe : " & b)     End Sub   
Para enviar datos a traves del puerto serie utilizo la instruccion:

sp.WriteLine(dato(i))

Y esta instruccion no me manda tampoco datos tipo bytes, supongo que mandara en formato cadena de caracteres, o no se.

Para comprobar la correcta programacion del microcontrolador uso el hyperterminal, y va todo bien sin problemas.Asi que os escribo aqui, por si alguien puede ayudarme a solucionar este problema.

En la recepcion, el microcontrolador solo manda un byte, pero en la aplicacion es como si recibiera mas y ademas sin sentido:

Puerto Recibe : 22
3El Puerto Recibe : 4
56a3
78

Navegación

[0] Índice de Mensajes

Ir a la versión completa