求校验和的问题
procedure A8051tran(Data:string); //以16进制形式下载
var
Len:integer; //数据长度
SendStr:string; //发送的数据
ChkSum:integer; //校验和
I:integer; //求校验和时的循环变量
begin
ChkSum:=0;
SendStr:=''; //清空传送字串
Len:=Length(Data);
SendStr:=chr($FA)+chr($FB)+chr($FD)+chr(Len)+Data;
for i:=1 to length(SendStr) do
chksum:=chksum+ord(sendstr[i]);
chksum:=chksum mod 256; //检查码
SendStr:=SendStr+chr(chksum); //CR
sleep(10);
F_Main.Comm1.WriteCommData(pchar(SendStr) ,length(SendStr));
Sleep(10);
end;
上面使我的发送函数,比如Data为“?”时经过上面函数的处理,通过串口助手16进制接收
得到的 就是 FAFBFD013F32,现在我通过串口助手给计算机发送FAFBFB013F32,我需要根据
FAFBFB013F计算校验和,判定校验位是否正确,如果正确则说明发送中没有错误,因为现在的
数据是FAFBFB013F,而不是chr($FA)+chr($FB)+chr($FD)+chr(Len)+Data,不能在通过
for i:=1 to length(SendStr) do
chksum:=chksum+ord(sendstr[i]);
chksum:=chksum mod 256; //检查码
SendStr:=SendStr+chr(chksum); //CR
求校验和了
现在有2个问题
1:怎样求FAFBFD013F的校验和,校验和应该是32,该如何处理那,或者说 如何判断传来的数据是
正确的 ,通过何种方法?
2:怎样把3F变回发送?
var
Len:integer; //数据长度
SendStr:string; //发送的数据
ChkSum:integer; //校验和
I:integer; //求校验和时的循环变量
begin
ChkSum:=0;
SendStr:=''; //清空传送字串
Len:=Length(Data);
SendStr:=chr($FA)+chr($FB)+chr($FD)+chr(Len)+Data;
for i:=1 to length(SendStr) do
chksum:=chksum+ord(sendstr[i]);
chksum:=chksum mod 256; //检查码
SendStr:=SendStr+chr(chksum); //CR
sleep(10);
F_Main.Comm1.WriteCommData(pchar(SendStr) ,length(SendStr));
Sleep(10);
end;
上面使我的发送函数,比如Data为“?”时经过上面函数的处理,通过串口助手16进制接收
得到的 就是 FAFBFD013F32,现在我通过串口助手给计算机发送FAFBFB013F32,我需要根据
FAFBFB013F计算校验和,判定校验位是否正确,如果正确则说明发送中没有错误,因为现在的
数据是FAFBFB013F,而不是chr($FA)+chr($FB)+chr($FD)+chr(Len)+Data,不能在通过
for i:=1 to length(SendStr) do
chksum:=chksum+ord(sendstr[i]);
chksum:=chksum mod 256; //检查码
SendStr:=SendStr+chr(chksum); //CR
求校验和了
现在有2个问题
1:怎样求FAFBFD013F的校验和,校验和应该是32,该如何处理那,或者说 如何判断传来的数据是
正确的 ,通过何种方法?
2:怎样把3F变回发送?
...全文
相关推荐
求校验和相加小工具 可执行程序
标题中的“求校验和相加小工具”指的是一个专门用于计算校验和并进行相加操作的软件工具。在IT行业中,校验和是一种常用的技术,用于验证数据的完整性和一致性。
求加和校验累加和校验小工具
尽管这种方法并不能保证完全避免错误,但至少能在一定程度上降低因数据错误导致的问题。总的来说,求加和校验和累加和校验是计算机科学中基础而实用的技术,用于保障数据的完整性和可靠性。
求校验和的工具
在网上想找一个能就一个文件校验和的工具,结果还没有,只有复杂的工具,所以自己写了一个,求一个文件的checksum.
通信中求校验和的VC++程序求
描述中的"求校验和的程序 求校验和的程序 求校验和的程序 求校验和的程序"可能是强调了该程序的核心功能,即计算校验和,这在多数据传输、网络协议如TCP/IP或者文件校验等场景中尤为重要。
checksum校验和计算工具
在计算校验和时,使用16进制可以方便地展示和比较较长的二进制数值,同时减少了因数值长度过长而引起的显示问题。


网络通信/分布式开发
