Autor Tema: Urgente RS232 VB convertir datos binarios  (Leído 3772 veces)

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

Desconectado Clewin

  • PIC10
  • *
  • Mensajes: 1
Urgente RS232 VB convertir datos binarios
« en: 09 de Junio de 2005, 08:18:00 »
Hola a todos, soy nuevo en este foro y tengo un problemilla, necesito urgentemente el codigo en visual basic para recibir datos binarios desde un PIC, la interfaz conectada a mi pc por el puerto serial COM1 me manda los datos en código binario y los recibo usando el control MSCOMM32 de VB pero me salen una cantidad de caracteres extraños y no sé como convertirlos a formato numérico para guardarlos y procesarlos.   loco Llorando

Necesito su ayuda urgentemente  Gracias!!!

Desconectado atlasdelcarinakeel

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 277
RE: Urgente RS232 VB convertir datos binarios
« Respuesta #1 en: 09 de Junio de 2005, 14:27:00 »
Lo que pasa es que el mscomm te recibe en codigo asci es decir que si tu le envias desde el pic en binario 00000001, el mscomm lo va traducir es asci de ese numero por lo que se te mostrara el caracter que representa el 00000001. Puedes hacer dos cosas:

Primera:
antes de enviar el dato; conviertelo a codigo BCD en el Pic luego le sumas 30H (hexadecimal) y despues envias hacia el PC.

Segunda:
sino quieres convertir a bcd, entonces envias el datos como lo estas haciendo y a la variable donde guardas el valor le haces lo siguiente:

Variable_tipo_variant=CDec(Variable_donde_esta_el_dato_leido)

y listo, despues muestras el valor en donde ti quieras.Sonrisa
Si tienes un problema y tiene solucion, para que te preocupas? y si no tiene solucion, para que te preocupas?

Desconectado Colores

  • Moderadores
  • PIC16
  • *****
  • Mensajes: 232
RE: Urgente RS232 VB convertir datos binarios
« Respuesta #2 en: 09 de Junio de 2005, 18:25:00 »
Para recibir datos binarios con el MsComm hay que hacer:

msComm1..InputMode = comInputModeBinary

o bien...

msComm1..InputMode = 1

Para volver al modo de recepción ASCII...

msComm1..InputMode = comInputModeText

o bien...

msComm1..InputMode = 0

El modo por default es "comInputModeText" y solo se usan estos valores para la recepcion de datos con "Input", la transmisión siempre es en ASCII.

Salu2.


 

anything