552
社区成员
发帖
与我相关
我的任务
分享
//当接受到数据送到窗口的消息
#define ON_COM_RECEIVE (WM_USER + 618) // WPARAM 端口号
private: // User declarations
void __fastcall OnReadData(TMessage &Msg);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(ON_COM_RECEIVE, TMessage, OnReadData)
END_MESSAGE_MAP(TForm)
//消息处理函数:
void __fastcall TForm_TestSpecDevice::OnReadData(TMessage &Msg)
{
if (Msg.Msg == ON_COM_RECEIVE)
{
len = MyComm1.Read(Temp, 6152);
if((len == 8) && ((Temp[0] == 'S') && (Temp[3] == 'A') && (Temp[4] == 'C') && (Temp[5] == 'K')))
{
RecvFlg = 1;
memset(Temp, 0, sizeof(Temp));
}
else if ((len > 2048))
{
DataDecompressionAlgorithm(Temp,len,G_pArray);
if(SpecDateRecvOK ==1)
{
RecvFlg =0;
SpecDateRecvOK =0;
memset(Temp, 0, sizeof(Temp));
//len =0;
}
else
{
SpecDateRecvOK =0;
memset(G_pArray, 0, sizeof(G_pArray));
RecvFlg =0;
memset(Temp, 0, sizeof(Temp));
//len =0;
}
}
else if((len ==0)||((len>8)&&(len<2048)))
{
RecvFlg =0;
//len =0;
}
else;
}
}