请教各位关于串口接收的问题
现在有一个终端,实时的往计算机的串口上发送数据包,我在程序里设了个定时器去读取串口的数据。定时器里的代码如下:
char szReadBuff[SIZE];
int nReadSize =0;
do
{
nSize = ReadCommBuff(buff, SIZE);
if (nSize>0)
{
if ((nReadSize+nSize) > SIZE)
break;
memcpy(szReadBuff+nReadSize, buff, nSize);
nReadSize += nSize;
}
Sleep(50);
}while(nSize>0);
现在我的问题是:这段代码会不会造成死循环??因为我觉得终端是实时的往串口里写数据的,这样就会造成串口里一直有数据存在(不知我的理解是否正确)。还有终端发送的数据都是一个包一个包发送的,会不会出现一个包经过两次才发送到串口上啊??