Entender el puerto serie

10/10/2006 - 23:39 por JJMurdoc | Informe spam
Estoy intentando hacer un programa que controla una central digital para
maquetas de trenes que se conecta a traves del COM6 con el PC.
Mi problema es que no se interpretar lo que leo del objeto SerialPort. Leo
el puerto cuando BytesToRead > 0 y uso ReadByte, pero lo que leo esta el
decimal, hexadecimal, ... vamos que no me aclaro.
Alguien puede orientarme un poco para que vaya aprendiendo.
Muchas gracias...,
 

Leer las respuestas

#1 Pep
11/10/2006 - 09:19 | Informe spam
Hola Murdoc,
En tu caso, el fabricante de la central digital, debe facilitarte la
información con el formato de las tramas a intercambiar... o sea es una
especie de protocolo, que formaliza las operaciones que puedes realizar.
Normalmente las tramas empiezan con un caracter concreto y acostumbran a
finalizar con 'Cr' que es el caracter 13.. en basic 'Chr(13)'.
Lo que se acostumbra es leer la trama completa y posteriormente procesarla.
Por ejemplo, imaginemos que el tercer caracter de la trama recibida indica
con un valor la situacion de la estacion codificando diferentes valores... a
saber (30= ok, 31=Parado, 32=marcha.. etc representando el valor del caracter
en ASCII, Entonces nuestro programa debera leerlos como sigue
Dim trama as string = readbytes...
'leer el valor ascii del tercer caracter (1ra posicion=0)
Select case Asc(trama.Substring(2,1))
case 30
case 31
case 32
End Select

Como te digo lo principal es obtener las instrucciones del fabricante y ver
como esta codificando la informacion.
Ya me diras algo,
Pep Lluis,

[MVP] Visual Developer - Visual Basic


"JJMurdoc" wrote:

Estoy intentando hacer un programa que controla una central digital para
maquetas de trenes que se conecta a traves del COM6 con el PC.
Mi problema es que no se interpretar lo que leo del objeto SerialPort. Leo
el puerto cuando BytesToRead > 0 y uso ReadByte, pero lo que leo esta el
decimal, hexadecimal, ... vamos que no me aclaro.
Alguien puede orientarme un poco para que vaya aprendiendo.
Muchas gracias...,

Preguntas similares