MSComm
Publicado por XRM (27 intervenciones) el 05/03/2002 10:45:15
Hola amigos mi duda es muy simple.
He creado una aplicación que se comunica mediante puerto serie con un terminal de control de personal que funciona mediante tarjeta chip.
No hay problema a la hora de comunicarme con ella ni a la hora de recibir su contestación, el unico problema es que me enseña los datos de respuesta en dos tiempos. Me expico:
La máquina me envia la información y yo la almaceno en el buffer. El codigo es muy sencillo:
...
Private Sub Command2_Click()
Do
DoEvents
Loop Until MSComm1.InBufferCount > 0
Text1.Text = Text1.Text & MSComm1.Input
MSComm1.InputLen = 0
end sub
...
De este modo consigo que cuando detecte que en el buffer hay algo me lo enseñe en la caja de texto, pero solo me enseña un trozo, si vuelvo a pasar por este código, me enseña el resto.
¿Como puedo hacer que me muestre el código de una sola pasada?
Solo matizar que la cantidad de datos que circulan por el puerto serie es muy pequeña, y no creo que sea debido al tamaño del buffer, pero si es asi desearía que me lo comunicaseis.
El buffer tiene 512 bytes y la inf. lo máximo que puede ocupar son unos 100 bytes.
Grácias de antemano.
Un saludo a todos.
He creado una aplicación que se comunica mediante puerto serie con un terminal de control de personal que funciona mediante tarjeta chip.
No hay problema a la hora de comunicarme con ella ni a la hora de recibir su contestación, el unico problema es que me enseña los datos de respuesta en dos tiempos. Me expico:
La máquina me envia la información y yo la almaceno en el buffer. El codigo es muy sencillo:
...
Private Sub Command2_Click()
Do
DoEvents
Loop Until MSComm1.InBufferCount > 0
Text1.Text = Text1.Text & MSComm1.Input
MSComm1.InputLen = 0
end sub
...
De este modo consigo que cuando detecte que en el buffer hay algo me lo enseñe en la caja de texto, pero solo me enseña un trozo, si vuelvo a pasar por este código, me enseña el resto.
¿Como puedo hacer que me muestre el código de una sola pasada?
Solo matizar que la cantidad de datos que circulan por el puerto serie es muy pequeña, y no creo que sea debido al tamaño del buffer, pero si es asi desearía que me lo comunicaseis.
El buffer tiene 512 bytes y la inf. lo máximo que puede ocupar son unos 100 bytes.
Grácias de antemano.
Un saludo a todos.
Valora esta pregunta


0