tx_view代码
来源:互联网 发布:sql数据库查询软件 编辑:程序博客网 时间:2024/05/17 08:30
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类型的判断
- tx_view代码
- 代码
- 代码!
- 代码
- 代码
- 代码
- 代码
- 代码
- 代码
- 代码
- 代码
- 代码
- 代码
- 代码
- 代码
- 代码
- 代码
- 代码
- SQL语言的组成执行
- C#中Hashtable的使用
- MongoDB集群
- 属性项目的定义(property)与内存管理问题
- Fedora 14+Eclipse3.6.1+ADT搭建andriod开发环境
- tx_view代码
- c语言中结构体的大小和内存对齐问题
- 2010年9月到12月个人总结回忆
- 林 锐《大学十年 —— 一个程序员的历程》值得成功和欲成功的朋友品读(转载)(上)
- 林 锐《大学十年 —— 一个程序员的历程》值得成功和欲成功的朋友品读(转载)(下)
- Bootloader源码
- FL2440下的流水灯实验
- 老友记第一纪第2集
- “你还是不是个男人啊”这话真给力