关于ReadFile读数据读不完整的问题
字节写了一个测试程序,通过COM4给COM1发送20个字节的数据,但是如果循环发送且发送很频繁的时候,会经常出现20个字节要执行两次Uart_Read函数才能收完,试过了各种方法,仍然没有解决,请各位高手帮助:
以下是我封装的串口接受函数:
static COMSTAT ms_ComStat;// 串口状态
static OVERLAPPED ms_Ov;
int Uart_Read(HANDLE hComm, unsigned char *rbuf, int *len)
{
BOOL bRead = TRUE;
BOOL bResult = TRUE;
DWORD dwError = 0;
DWORD BytesRead = 0;
int rtn = 0;
BYTE tmpbuf[256];
DWORD nPos = 0;
DWORD readcnt = 0;// 读到数据次数
memset(tmpbuf, 0x00, sizeof(256));
for(;;)
{
bResult = ClearCommError(hComm, &dwError, &ms_ComStat);
if ( ms_ComStat.cbInQue == 0 )
{
if( readcnt == 0 )
{
return -1;
}
else