上位机通信,获取不到校验位数据,请教大家有什么办法没
上位机主要是采集数据和设置下位机数据用的。
我想让显示的数据尽量的准确,所以想用到校验和来进行判断传输的数据是否准确,可是获取的校验和数据确是“0”
为什么?
但是其中有一个数据能获得校验位,其他的都不行。我用示波器看了,传输的数据都是有校验位数据的。
发送请求和获取数据代码都是相同的。我用到了DLL第三方组件。
这是其中一段代码,是可以获取校验和的代码:
long Length; long cmd; if(!CheckConnect(Sender))return; QueryTime->Enabled = false; setmem(WriteBuffer,64,0); pkgBuf->SetCommand(0xa3); accParity = 0xa3; pkgBuf->SetDataLength(0x00); accParity += 0x00; pkgBuf->SetSlaveAddr(SlaveAddr->Text.ToInt()); accParity += SlaveAddr->Text.ToInt();//校验和 pkgBuf->GetPackage(WriteBuffer); pkgBuf->GetParityData(&cmd); cmd &= 0xff; Edit6->Text = cmd; Length=55; comm->Write(Length,&dwWriteLength);