读书人

【串口有关问题】收发不同步

发布时间: 2012-01-08 22:48:50 作者: rapoo

【串口问题】收发不同步
写了两个串口通讯程序,一个用来发,一个用来收。用虚拟串口调试时发现每次接收方显示的信息都是上次发送方发出的信息,不能同步。接收方我用的是下面这个线程: 之后用ReadFile把数据读出并显示出来。
DWORD ThreadFunction(LPVOID pParam)
{
DWORD dwEvtMask,dwResult;
OVERLAPPED tOver={0};
tOver.hEvent=CreateEvent(NULL,true,false,NULL);//创建一个事件
while(IsFun)
{
//等待窗口事件
WaitCommEvent(hCom,&dwEvtMask,&tOver);
//如果事件没有信号,延时0.1s
dwResult=WaitForSingleObject(tOver.hEvent,100);
if(dwResult==WAIT_OBJECT_0)//事件对象有信号
{
if(dwEvtMask==EV_RXCHAR)
{
if(IsRead)
{
IsRead=false;
::PostMessage(hWnd,CM_RECEIVE,0,(LPARAM)EV_RXCHAR);
}
}
}
}
return 0;
}来监视串口。

[解决办法]
那就晒晒原因啊

读书人网 >VC/MFC

热点推荐