我要从接收的“vI.Uxxxx<CRLF>”里将xxxx取出来。现在不论xxxx是多少,我的取到的结果都是116,是什么情况?
我的代码为:
for(int fx=0;fx<2048;fx++)
{
if ((RxData1[fx]=='v') && (RxData1[fx+1]=='I') && (RxData1[fx+3]=='U'))
{
for (int fx1=0; fx1<2048 ; fx1++)
{
if (RxData1[fx+4+fx1]==0X0D)
break;
IU=(IU*10+(RxData1[fx+4+fx1]-48));
}
Timeraddnum1=1;
break;
}
}
pItem = (CItem *)m_ItemList.GetAt(10);
pItem->Value.bVal=IU;//赋值状态
Lock();
pItem->Quality = OPC_QUALITY_GOOD;
//setting timestamp
GetSystemTime(&sysTime);
SystemTimeToFileTime(&sysTime,&pItem->TimeStamp);
bReturn = KOS_UpdateItem(pItem->Handle,pItem->Value,pItem->Quality);
if (!bReturn) TRACE("UpdateItem %s failure!\n",pItem->Name);
UnLock();
tlen1=0;
ctjs=0;IU为BYTE型
我的代码为:
for(int fx=0;fx<2048;fx++)
{
if ((RxData1[fx]=='v') && (RxData1[fx+1]=='I') && (RxData1[fx+3]=='U'))
{
for (int fx1=0; fx1<2048 ; fx1++)
{
if (RxData1[fx+4+fx1]==0X0D)
break;
IU=(IU*10+(RxData1[fx+4+fx1]-48));
}
Timeraddnum1=1;
break;
}
}
pItem = (CItem *)m_ItemList.GetAt(10);
pItem->Value.bVal=IU;//赋值状态
Lock();
pItem->Quality = OPC_QUALITY_GOOD;
//setting timestamp
GetSystemTime(&sysTime);
SystemTimeToFileTime(&sysTime,&pItem->TimeStamp);
bReturn = KOS_UpdateItem(pItem->Handle,pItem->Value,pItem->Quality);
if (!bReturn) TRACE("UpdateItem %s failure!\n",pItem->Name);
UnLock();
tlen1=0;
ctjs=0;IU为BYTE型
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货