Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   TMS Async32 (Builder c++ o Delphi) (https://www.clubdelphi.com/foros/showthread.php?t=92326)

nicamarcos 02-10-2017 05:18:46

TMS Async32 (Builder c++ o Delphi)
 
Buenas noches, es un placer formar parte de esta comunidad.

Mi primer post es una duda que tengo en el uso del componente Async32 de TMS.

Tengo el siguiente escenario:
Un interface RS232 conectado a mi puerto serie con las lineas Tx y Rx conectadas entre si los fines de enviar una trama al puerto e inmediatamente recibirla.

Mi proposito es enviar tramas largas de String en el puerto usando los metodos WriteText() y ReadText(). Estoy trabajando a una velocidad de 4800bps.

Realicé un programa muy basico y es el siguiente:

void __fastcall TForm2::Button1Click(TObject *Sender)
{

AnsiString Texto_rx;
Comm3->Open();
Memo1->Text= "Enviando una trama lo suficientemente larga al puerto serie";
Comm3->WriteText(Memo1->Text);
Sleep (100);
Texto_rx= Comm3->ReadText();
Memo2->Text= Texto_rx;
Comm3->Close();

}

Cuando hago click sobre Button 1, sobre Memo2 tengo sólo una parte del string enviado: "Enviando una trama lo suficientemente larga al"

Si aumento el tiempo de sleep a 200 mS obtengo la trama completa enviada ("Enviando una trama lo suficientemente larga al puerto serie").

Mi pregunta es la siguiente: Como podria detectar el fin de la trama a los fines de no usar un Sleep y obtener en el buffer de recepcion la trama completa enviada sin que sea truncada?, tal vez el disparo de algun evento?.

Desde ya agradezco infinitamente alguna idea o ayuda al respecto, incluso con Delphi.

nicamarcos 02-10-2017 12:13:27

bump, nadie? :(

Casimiro Notevi 02-10-2017 12:19:02

Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración :)

Y recuerda poner los tags al código fuente, ejemplo:



Gracias :)

nicamarcos 02-10-2017 12:55:49

Gracias Casimiro, así lo haré. Pero no encuentro el boton "Editar" para modificar mi mensaje.:confused:

Casimiro Notevi 02-10-2017 13:03:47

Solo tenlo en cuenta para otras consultas que hagas.
Y ¡Bienvenido! ^\||/


La franja horaria es GMT +2. Ahora son las 20:06:38.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi