void CSetting::tx_view(int len, char *ptr)
{
char StrData[10];
char str[1010];
char *pPsrData = NULL;
char SignFlag = '+';
int i = 0;
double data; //每个通道转换后的数值
int ChannelNo = 0; //要显示的通道号
memset(StrData, 0, sizeof(StrData));
memset(str, 0, sizeof(str));
// test begin
// 开始进行处理
if(strlen(ptr) < sizeof(str))
{
strcpy(str,ptr);
}
else
{
return;
}
int n = strlen(str);
for(i = 0; i < n; i++)
{
memset(StrData, 0, sizeof(StrData));
if((str[i] >='a') && (str[i] <= 'j'))
{
Digital_Copy(&str[i+2],StrData);
// 读过来的数据有小于7的可能,这时显示上次读取的数值
if (strlen(StrData) < 7)
{
continue;
}
if(str[i+1] == '-')
{
data = 0- atof(StrData);
}
else
{
data = atof(StrData);
}
ChannelNo = str[i] - 'a';
lx_frame_float[ChannelNo] = data;
i++; //指向数字
}
}
// 格式化字符串,传递给CcurDate的窗口
memset(aSendBuffer, 0, sizeof(aSendBuffer));
memcpy(aSendBuffer, lx_frame_float, sizeof(lx_frame_float));
pCurDataDlg->PostMessage(WM_S2C, (WPARAM)aSendBuffer, (LPARAM)0);
pChartDlg->PostMessage(WM_C2C, (WPARAM)1, (LPARAM)1);
// 采集时间间隔
// int RequestDelayInterval = 0;
// RequestDelayInterval = GetDlgItemInt(IDC_COMSettingInterval);
// if((RequestDelayInterval > 100 )&& (RequestDelayInterval < 5000))
// {
// SetTimer(2, RequestDelayInterval, NULL); //启动定时器,进行超时检测
// }
}
//open函数中加入不能为空的判断
if (PortNUm.GetLength() == 0 || sInterval.GetLength() == 0 || sBaud.GetLength() == 0 || sChannelID.GetLength() == 0)
{
AfxMessageBox("配置信息不能为空!!!");
return;
}
OnTimer()中case5,删除对bool类型的判断