한국어 English Chinese Russian
bannerbar

Q&A



Your information is protected by SSL.
No. 23 Re: T2S Serial transmission delay(EZL-50) 2004-03-11


Every 10ms-20ms, EZL-50 makes a packet after gathering data from serial port and transmits the packet automatically.
For example, if the baud-rate is 9600bps(The number of data from serial port is 1 byte every 1ms),
the packet size will be from 10 bytes to 20bytes.

Unfortunately, there's no way to set the packet size.

The application program on PC should receive data repeatly until it receive all packet what it wants to receive.

The example code(Microsoft Visual C++) to get 4 bytes data are following:

int rcvd_len = 0;
BYTE rcvd_buf[32];
CAsyncSock *sock;

...
...
...

void test::DoIt(void) < == fuction to process 4 bytes.
{
...
...
}

...
...
...

void test::OnReceive(int nErrorCode)
{
int len;
BYTE buf[32];

len = sock->Receive(buf, 4 - rcvd_len, 0);
memcpy(rcvd_buf + rcvd_len, buf, len);
rcvd_len += len;
if(rcvd_len == 4)
{
DoIt();
rcvd_len = 0;
}
}


> jason vreeland wrote:
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~
> I am having a problem with the EZL-50 in my application. The EZL is segmenting incomming serial data over multiple network packets. If I were to guess I would say the delay between characters is long enough for the EZL-50 to think it is done transmitting. If this is true is there any way to adjust this time out as I couldnt find a way to do this through the EZTcp config software.
>
> Kind Regards,
> Jason Vreeland

Writer Sollae Systems Company