Autor Tema: Mscomm (Numeros Binarios)  (Leído 11378 veces)

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

Desconectado atlasdelcarinakeel

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 277
Mscomm (Numeros Binarios)
« en: 02 de Abril de 2005, 13:25:00 »
Que tal, haber si me pueden ayudar necesito enviar numeros binarios a traves del mscomm, el caso es que si yo envio lo siguiente:

Mscomm1.Output="1"

en el puerto se vera en binario 00110001 o lo que es lo mismo el ascii de 1 que es 31H, necesito por favor que si envio un 1 por el mscomm en la salida se me muestre  "00000001", pero necesito hacerlo por software y no por hardware ya que por hardware puedo usar un Pic y listo.

Yo visualizo el dato en unos leds, a traves de un registro de corrimiento.

Les agradeceria su ayuda.
Si tienes un problema y tiene solucion, para que te preocupas? y si no tiene solucion, para que te preocupas?

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Mscomm (Numeros Binarios)
« Respuesta #1 en: 02 de Abril de 2005, 13:54:00 »
Puedes probar a hacer la asignación del valor sin las comillas.

Si no funciona, porque la propiedad Output necesariamente tenga que ser en formato texto, puedes intentar lo siguiente:
Mscomm1.Output=chr$(1)

De esta manera, te aseguras que envías un carácter cuyo código ascii es el 1.

Desconectado atlasdelcarinakeel

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 277
RE: Mscomm (Numeros Binarios)
« Respuesta #2 en: 10 de Abril de 2005, 10:20:00 »
Gracias nocturno66, me funciono muy bien  usando la funcion Chr$().
Si tienes un problema y tiene solucion, para que te preocupas? y si no tiene solucion, para que te preocupas?

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Mscomm (Numeros Binarios)
« Respuesta #3 en: 10 de Abril de 2005, 12:17:00 »
De nada, me alegro

Desconectado Elizabeth2004

  • PIC10
  • *
  • Mensajes: 46
RE: Mscomm (Numeros Binarios)
« Respuesta #4 en: 14 de Abril de 2005, 18:15:00 »
Hola Amigos.. si para enviar el caracter cuyo assci es el número se ultiza " Chr$().".. como hago para enviar un byte.. o un número en hex.... necesito enviar por ejemplo el Byte "200" o en su hex "C8" o en Binario "11001000"... gracias...

Bye

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Mscomm (Numeros Binarios)
« Respuesta #5 en: 14 de Abril de 2005, 23:34:00 »
La diferencia entre un carácter y un byte es únicamente su nombre Sonrisa Gigante
Es más una cuestión estética que real, porque chr$(200) representa todas las fórmulas que expones.
En el fondo, lo que quieres es que por el cable viajen una serie de impulsos eléctricos que signifiquen lo mismo tanto para el emisor como para el receptor, y las representaciones binaria, hexadecimal, decimal o ascii no son más que distintas convenciones a las que hemos llegado "para entendernos".

Desconectado Elizabeth2004

  • PIC10
  • *
  • Mensajes: 46
RE: Mscomm (Numeros Binarios)
« Respuesta #6 en: 15 de Abril de 2005, 10:02:00 »
Escrito originalmente por nocturno66
La diferencia entre un carácter y un byte es únicamente su nombre Sonrisa Gigante
Es más una cuestión estética que real, porque chr$(200) representa todas las fórmulas que expones.
En el fondo, lo que quieres es que por el cable viajen una serie de impulsos eléctricos que signifiquen lo mismo tanto para el emisor como para el receptor, y las representaciones binaria, hexadecimal, decimal o ascii no son más que distintas convenciones a las que hemos llegado "para entendernos".


Gracias...tenía esa duda... porke anoche haciendo unas pruebas me estaba confundiendo un poco... jejeje.. ya decía....

oye y aprovechando un poco... Cómo hago para ke me envie el Caracter, Byte, hexa.. lo ke sea.. mientras tenga presionado un botón... osea continuamente.. no ke solo me envie uno.. sino ke mientras esté presionado me envie indefinidamente hasta ke suelte el botón..

Bye

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Mscomm (Numeros Binarios)
« Respuesta #7 en: 15 de Abril de 2005, 10:28:00 »
Habría que ver tu programa. Eso que dices se puede hacer de varias formas, pero no me atrevo a indicarte alguna sin ver cómo encaja en tu programa.

Desconectado Elizabeth2004

  • PIC10
  • *
  • Mensajes: 46
RE: Mscomm (Numeros Binarios)
« Respuesta #8 en: 15 de Abril de 2005, 12:43:00 »
Escrito originalmente por nocturno66
Habría que ver tu programa. Eso que dices se puede hacer de varias formas, pero no me atrevo a indicarte alguna sin ver cómo encaja en tu programa.


Pues mira.. ten cuento ke lo ke estoy tratando de hacer es un control remoto.. ya lo tengo echo con un pic... estoy utilizando un modulador ASK para tx bytes a otro PIC "16F877" ke es el ke me controla un microbot... entonces en la parte del transmisor.. con un 16f84 envio bytes en formato RS232.. para ke cuando me lleguen al otro lado .. los pueda identificar con la usart del pic.. entonces me surgió la idea de aparte de mandar los bytes desde el pic.. tambien poder enviarlos desde el PC... ha sido una tarea entretenida.. ya ke no sabía nada de Visual..... te dejo algunas fotos de mi prototipo para ke tengas una mejor idea.. de lo ke trato de hacer... también te dejo el código de lo ke llevo del control remoto...



es sencillo lo tengo ke cuando haga click en un botón me envie un byte por el com1

lo tengo en periodo de prueba por eso lo verás un poco desordenado y sin asignar acciones a un resto de botones.. pero bueno.. echale un ojo a la parte del frame "Cámara " ke es lo ke tengo asignado ...para poder enviar los bytes tienes ke presionar en el boton OnOFF...

Akí te dejo el Código



Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Mscomm (Numeros Binarios)
« Respuesta #9 en: 16 de Abril de 2005, 01:31:00 »
No puedo bajar el código, puede que el link esté roto.

De todas formas, por lo que comentas, creo que tu problema tiene fácil solución.

Creo que tú actualmente envías el byte en el evento "Click" del botón que sea. Ese evento se ejecuta después de haber presionado y levantado el ratón sobre el botón.

Lo que tú necesitas podrías hacerlo por ejemplo así:
- en el evento "MouseDown" (que se ejecuta al presionar sobre el botón, aunque no levantes el ratón) cambias el valor de una variable global y haces un bucle que envíe un byte, cuya condición de salida dependa de un nuevo cambio en dicha variable global. Por ejemplo:

Codigo:
BotonPulsado=1
while (BotonPulsado) -> envioByte


- en el evento "MouseUp" que se ejecuta al levantar el botón del ratón, vuelves a cambiar el valor de esa variable global, para salir del bucle que se está ejecutando indefinidamente. Por ejemplo: BotonPulsado=0

(disculpa por no usar la sintaxis de Visual Basic pero hace mucho que no lo uso y tengo ahora mismo mentalidad de "C" loco )

Desconectado Elizabeth2004

  • PIC10
  • *
  • Mensajes: 46
RE: Mscomm (Numeros Binarios)
« Respuesta #10 en: 16 de Abril de 2005, 08:18:00 »
Escrito originalmente por nocturno66
No puedo bajar el código, puede que el link esté roto.


(disculpa por no usar la sintaxis de Visual Basic pero hace mucho que no lo uso y tengo ahora mismo mentalidad de "C" loco )


Gracias había pensado en algo similar.. pero pesaba ke el mousedown tenía una sintaxis confusa para mi....

Voy a revisar con lo ke me dices y te cuento...

el link no está roto.. sino ke lycos dice ke ingreses a la página principal y luego si puedes descargar el archivo ose http://usuarios.lycos.es/vlad2004   luego entras a /ALBERT  y luego a control y ahí encuentras el control.rar


gracias por todoGiño

Bye

Desconectado batmand

  • PIC16
  • ***
  • Mensajes: 103
RE: Mscomm (Numeros Binarios)
« Respuesta #11 en: 11 de Mayo de 2005, 13:03:00 »
Hola a todos,

estoy intentando mi primer programa en vb6, tratando de utilizar el mscomm

Pero cuando quiero compilarlo, me da error por "variable  no definida"

Alguien puede echarle una mirada a mi programa?

La idea es recibir el dato del puerto serie y verlo en un text bos que se llama txtS1

mi form se llama frmVentana

Aca copio el codigo

Private Sub frmVentana_Load()
MSComm1.CommPort = 1
MSComm1.RTSEnable = False
MSComm1.RThreshold = 1
MSComm1.Handshaking = 0
MSComm1.Settings = "1200,n,8,1"
MSComm1.PortOpen = True
End Sub


Private Sub MSComm1_OnComm()
If MSComm1.CommEvent = 2 Then
dato = MSComm1.Input
txtS1.Text = txtS1.Text & dato
End If
End Sub

Gracias a todos
Dario

Desconectado Elizabeth2004

  • PIC10
  • *
  • Mensajes: 46
RE: Mscomm (Numeros Binarios)
« Respuesta #12 en: 11 de Mayo de 2005, 22:31:00 »
Escrito originalmente por batmand
Hola a todos,

Pero cuando quiero compilarlo, me da error por "variable  no definida"




Ke tal amigo, no se mucho de vb6, pero ahí te dice lo ke pasa, "variable no definida" y según lo ke vi.. no estás definiendo "dato" por ningún lado, prueba a definirla como string y me cuentas algo así
Dim dato As String

Espero no ekivocarme..Giñosi es así disculpasdesquiciado

Bye

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Mscomm (Numeros Binarios)
« Respuesta #13 en: 12 de Mayo de 2005, 23:58:00 »
¿Qué hace esto en Basic?:
txtS1.Text = txtS1.Text & dato

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: Mscomm (Numeros Binarios)
« Respuesta #14 en: 13 de Mayo de 2005, 10:53:00 »
Hola:

Se utiliza para forzar la concatenación de las cadenas de dos expresiones.

Si txtS1.Text ="Hola" y dato=255

txtS1.Text = txtS1.Text & dato

txtS1.Text = Hola255

Sonrisa Gigante Giño


 

anything