试了试,没有问题:D ,估计你哪里弄错了吧
写
SoftElemType eType = ELEM_MW;//寄存器类型
int nStartAddr = 0;//寄存器地址
int nCount =2;//寄存器个数
float pValue[1];//缓冲区
int nNetId = 0;//连接id
float nValue = 1.1;
//把要写的数据存入缓冲区,备写
memcpy(pValue,&nValue,sizeof(nValue));
//调用api写数据
int nRet = Am600_Write_Soft_Elem_Float(eType,nStartAddr,nCount, pValue,nNetId );
if (nRet)
{
AfxMessageBox(_T("写寄存器成功"));
}
else
{
AfxMessageBox(_T("写寄存器失败"));
}
读
SoftElemType eType = ELEM_MW;
int nStartAddr = 0;
int nCount =2;
float pValue[1];//缓冲区
int nNetId = 0;//连接id
int nRet = Am600_Read_Soft_Elem_Float(eType,nStartAddr,nCount, pValue,nNetId );
float nValue;
memcpy(&nValue,pValue,sizeof(nValue));
if (nRet)
{
AfxMessageBox(_T("读寄存器成功"));
}
else
{
AfxMessageBox(_T("读寄存器失败"));
}
先写后读
|