Tienda | Foros | Blogs | EN |
 

Codigo para capturar datos

Seguir
hola a todos, tengo un codigo echo en visual basic version 5.0 que me recibe datos y uno echo en visual studio que me envia datos.... estan conectadas las dos pc por puerto serial entonces cuando ejecuto ambas codigos y presiono el boton de recibir si se me envia el dato que esta en el codigo que envia PEROOOOOOOOOOOOO el problema es que no aparece normalmente viene distorcionado y tngo que pulsar muchas veces recibir para que aparezca o a veces hasta salir y ejecutar de nuevo... necesito que ese dato sea estable.... que al presionar recibir simplemente llegue.. no se cual de los codigos tiene problemas:

el de vb 5.0 es solo:

Private Sub RECIBIR_Click()

Label1.Caption = MSComm1.Input

End Sub

y el de vs 2003 es:

Imports MSCommLib

Module Module1

Sub Main()
'New a MSComm control'
Dim MSComm1 As MSComm
MSComm1 = New MSComm ' Almacenar en búfer la cadena de entrada.
Dim Buffer As String ' Usar el puerto serie COM1.
MSComm1.CommPort = 1 ' 9600 baudios, sin paridad, 8 bits de datos y 1 bit de parada.
MSComm1.Settings = "9600,N,8,1" ' Indicar al control que lea todo el búfer cuando se utilice input.
MSComm1.InputLen = 0 ' Abrir el puerto serie.
MSComm1.PortOpen = True
Console.WriteLine("Abrir el puerto serie.") ' Indicar al control que haga que la propiedad Input devuelva datos de texto.
MSComm1.InputMode() = InputModeConstants.comInputModeText 'Borrar el búfer de recepción.
MSComm1.InBufferCount() = 0 ' Enviar el comando de atención al módem.
Console.WriteLine("Enviar el comando de atención al módem.")
Console.WriteLine("Esperar que los datos vuelvan al puerto serie...") ' Asegurarse de que el módem responde con "OK". ' Esperar que los datos vuelvan al puerto serie.
Do
MSComm1.Output = "52.52" & Chr(13)
Loop Until InStr(Buffer, "OK" & vbCrLf)
MSComm1.PortOpen = False
Console.WriteLine("Cerrar el puerto serie.")
End Sub

End Module

me parece que el problema esta es en el ciclo que es quien lo envia pero no se como arreglar eso...

por favor quien pueda y desee ayudarme........... muchas gracias..


5 Soluciones propuestas

Hola, podria ser un problema de velocidad de transmición/recepción quizas te conviene setear la velocidad de los dos comm a una velocidad baja y luego ir subiendo.
Saludos, Sergio.
ok, gracias si me dices eso es porque no le viste problema al codigo, voy a intentar bajar velocidades porque la tengo en 9600 a ver que pasa.. gracias por tu comentario.....
hola si era esooo muchiiiiiiiiiiiiiiiiiisimassssssssssssssssss gracias de pana........ tanto que luche yo con eso y el problema era tan sencillo valee.......... pero si tu no me dices todavis estuviera asiiiiiiiiiiiiii.... te lo agradezco mucho mucho mchito muchte...........
SOLUCIÓN ACEPTADA
Hola, me alegro que se haya solucionado el tema.
No olvides cerrar el post, dando una calificación final.

Saludos, Sergio.
ok, sabes necesito saber otra cosita, como buenos jefes los mios nunca me dejan en paz, entonces ahora que ya capture datos ellos quieren que yo pase ese codigo a visual studio 2003 ya que esta hecho es en visual basic 5.0 porque la aplicacion que se va a desarrollar es en visual studio entonces yo intente pasarlo alli pero me da errores.. no se porque me magino que es porque en vb se trabaja con el control mscomm que es como un telefonito y en vs no hay solo coloco una referencia del comm pero me da errores. yo quiero saber si tu puedes pasarme mi rutina de vb al lenguaje de vs que no ne de errores y que me capture los datos igual como me lo hace ahorita pero en un form de vs, si puedes???? aki te lo dejo,


gracias