用SPCOMM for MFC类写串口通信有关问题

用SPCOMM for MFC类写串口通信问题
用串口调试助手和程序进行通信,在 ReceiveData函数接收到数据 马上随便回复一串,串口8和9进行通信,串口调试助手是串口9

//全局变量
TComm *Serial;
char rev[1000];


//启动
void CSPCTest01Dlg::OnBnClickedOk()
{
Serial->CommName = L"COM8";   
Serial->BaudRate = 9600;  
Serial->ByteSize = TComm::_8;  
Serial->Parity = TComm::None;  
Serial->StopBits = TComm::_1;  


Serial->OnReceiveData =ReceiveData;  
Serial->ReadIntervalTimeout = 50; 

if (!Serial->IsOpen())
Serial->StartComm();

rev[0]=0x57;
rev[1]=0x57;
rev[2]=0x57;
Serial->WriteCommData(rev,4);
}
 


//接收函数
void CALLBACK ReceiveData(void *obj,void *Buffer, WORD BufferLength, bool Abnormal)  
{  
memcpy_s(rev,1000,Buffer,BufferLength);  
rev[0]=0x54;
rev[1]=0x00; 
rev[2]=0x11;
rev[3]=0x20;
Serial->WriteCommData(rev,34);
}

可以正常通信,但是串口调试助手一直发射的时候,移动程序窗口发现程序停止发射数据给串口调试助手,停止移动又可以了,是不是主线程阻塞,需要开辟一个线程处理接收的回调函数啊?具体该怎么做呢?哪位大侠帮忙下!谢谢~
------解决方案--------------------
移动窗口时是会阻塞一段时间的窗口消息
------解决方案--------------------
那就是 SPCOMM 堵塞了, 再研究一下 SPCOMM 看看 。