|
现在编了一个程序 ADAM5510模块从下位机通过串口发送数据
数据格式为8路AD采集 最后的52为数据校验位
>+05015+05025+04864+05385+04953+05063+05001+04362<52
接到的数据在文本框显示应该为
>+05015+05025+04864+05385+04953+05063+05001+04362<52
>+05103+05238+04907+05504+04974+05111+04999+04389<58
>+05074+05213+04923+05458+04980+05157+04999+04397<58
这个是比较完美的结果 但是我采集的显示的数据是
<49
>+05087+05243+04910+05544+04982+05157+04999+04373<55
>+04999
4400<58
>+05082+05238+04899+05565+04977+
07+05514+04972+05103+04999+04378<59
>+05071+0523
5+05396+04961+05063+04999+04402<61
>+05101+05232
09+04999+04410<57
>+0501
>+05017+05039+04738+05407+04953+05060+04
04413<61
>+05106+05243+04888+055
+05001+04400<62
程序采用的是定时器采集
int CVICALLBACK Timerback (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_TIMER_TICK:
COUNTlog=GetInQLen(comselect); //获取串口字符数
if(COUNTlog>0)
{
ComRd(comselect,readBuf,COUNTlog);
SetCtrlVal(PANEL,PANEL_RECEIVETEXT,readBuf);
SetCtrlVal(PANEL,PANEL_RECEIVETEXT,"\r");
SetActiveCtrl(PANEL,PANEL_RECEIVETEXT);
strcat(readBuf,space); //将采集到的数据后边加\r
strcat(save,readBuf); //将采集到的数据放入save数组中 save数组用于文件存储
memset(readBuf,0,80); //清空字符串
COUNTlog=0;
FlushInQ(comselect);
}
else
{;}
break;
}
return 0;
}
请哪位给我讲解讲解 多谢!
想用 InstallComCallback这个函数 但是不知道该怎么操作 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|