delphi 与 232 串口的 问题
时间:2011-11-08
来源:互联网
             rbuf:array[1..MaxByte] of byte;
mmx:array[1..32] of byte;
s : byte ;
s1 : byte ;
s2 : byte ;
s3 : byte ;
s4 : byte ;
s5 : byte ;
s6 : byte ;
s7 : byte ;
s8 : byte ;
s9 : string ;
mmx[1]:=rbuf[1];
if mmx[1] = 165 then
begin
mmx[2]:=rbuf[2];
if mmx[2] = 35 then
Edit28.Text := '前行' ;
if mmx[2] = 50 then
Edit28.Text := '后行' ;
mmx[3] := rbuf[3] ;
mmx[4] := rbuf[4] ;
s := rbuf[3] + rbuf[4] ;
Edit5.Text := IntToStr(s)+'km' ;
mmx[5] := rbuf[5] ;
mmx[6] := rbuf[6] ;
s1 := rbuf[5] + rbuf[6] ;
Edit3.Text := IntToStr(s1) +'km/h' ;
mmx[7] := rbuf[7] ;
mmx[8] := rbuf[8] ;
s2 := rbuf[7] + rbuf[8] ;
Edit18.Text := IntToStr(s2) + 'r/min' ;
mmx[9] := rbuf[9] ;
mmx[10] := rbuf[10] ;
s3 := rbuf[9] + rbuf[10] ;
mmx[11] := rbuf[11] ;
mmx[12] := rbuf[12] ;
s4 := rbuf[11] + rbuf[12] ;
mmx[13] := rbuf[13] ;
mmx[14] := rbuf[14] ;
s5 := rbuf[13] + rbuf[14] ;
mmx[15] := rbuf[15] ;
mmx[16] := rbuf[16] ;
s6 := rbuf[15] + rbuf[16];
//保留位
mmx[17] := rbuf[17] ;
mmx[18] := rbuf[18] ;
s7 := rbuf[17] + rbuf[18];
//校验和
mmx[19] := rbuf[19] ;
mmx[20] := rbuf[20] ;
s8 := rbuf[19] + rbuf[20] ;
s9 := IntToStr(rbuf[1]+rbuf[2] + s + s1 + s2 + s3 + s4 + s5 + s6 + s7);
//s9 := IntToStr( rbuf[1]+ rbuf[2]+ rbuf[3]+ rbuf[4]+ rbuf[5]+ rbuf[6]+ rbuf[7]+ rbuf[8]+ rbuf[9]+ rbuf[10]+ rbuf[11]+ rbuf[12]+ rbuf[13]+ rbuf[14]+ rbuf[15]+ rbuf[16]+ rbuf[17]+ rbuf[18]) ;
Edit29.Text := s9;
校验和 怎么算都不对
            mmx:array[1..32] of byte;
s : byte ;
s1 : byte ;
s2 : byte ;
s3 : byte ;
s4 : byte ;
s5 : byte ;
s6 : byte ;
s7 : byte ;
s8 : byte ;
s9 : string ;
mmx[1]:=rbuf[1];
if mmx[1] = 165 then
begin
mmx[2]:=rbuf[2];
if mmx[2] = 35 then
Edit28.Text := '前行' ;
if mmx[2] = 50 then
Edit28.Text := '后行' ;
mmx[3] := rbuf[3] ;
mmx[4] := rbuf[4] ;
s := rbuf[3] + rbuf[4] ;
Edit5.Text := IntToStr(s)+'km' ;
mmx[5] := rbuf[5] ;
mmx[6] := rbuf[6] ;
s1 := rbuf[5] + rbuf[6] ;
Edit3.Text := IntToStr(s1) +'km/h' ;
mmx[7] := rbuf[7] ;
mmx[8] := rbuf[8] ;
s2 := rbuf[7] + rbuf[8] ;
Edit18.Text := IntToStr(s2) + 'r/min' ;
mmx[9] := rbuf[9] ;
mmx[10] := rbuf[10] ;
s3 := rbuf[9] + rbuf[10] ;
mmx[11] := rbuf[11] ;
mmx[12] := rbuf[12] ;
s4 := rbuf[11] + rbuf[12] ;
mmx[13] := rbuf[13] ;
mmx[14] := rbuf[14] ;
s5 := rbuf[13] + rbuf[14] ;
mmx[15] := rbuf[15] ;
mmx[16] := rbuf[16] ;
s6 := rbuf[15] + rbuf[16];
//保留位
mmx[17] := rbuf[17] ;
mmx[18] := rbuf[18] ;
s7 := rbuf[17] + rbuf[18];
//校验和
mmx[19] := rbuf[19] ;
mmx[20] := rbuf[20] ;
s8 := rbuf[19] + rbuf[20] ;
s9 := IntToStr(rbuf[1]+rbuf[2] + s + s1 + s2 + s3 + s4 + s5 + s6 + s7);
//s9 := IntToStr( rbuf[1]+ rbuf[2]+ rbuf[3]+ rbuf[4]+ rbuf[5]+ rbuf[6]+ rbuf[7]+ rbuf[8]+ rbuf[9]+ rbuf[10]+ rbuf[11]+ rbuf[12]+ rbuf[13]+ rbuf[14]+ rbuf[15]+ rbuf[16]+ rbuf[17]+ rbuf[18]) ;
Edit29.Text := s9;
校验和 怎么算都不对
作者: ll_2363808169 发布时间: 2011-11-08
             谁知道你的规则,算不对,就好好看看程序            
            作者: bdmh 发布时间: 2011-11-08
             哪里不对了?            
            作者: lhylhy 发布时间: 2011-11-08
  引用 2 楼 lhylhy 的回复:
哪里不对了?
哪里不对了?
就是最后的和
作者: ll_2363808169 发布时间: 2011-11-08
             协议是什么?
是不是应该是
Delphi(Pascal) code
依次类推。
另外你求和不会用循环么?
            是不是应该是
Delphi(Pascal) code
s:Word; s := rbuf[3]*256 + rbuf[4];
依次类推。
另外你求和不会用循环么?
作者: lhylhy 发布时间: 2011-11-08
 相关阅读 更多  
      
    热门阅读
-   office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具 office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具阅读:74 
-   如何安装mysql8.0 如何安装mysql8.0阅读:31 
-   Word快速设置标题样式步骤详解 Word快速设置标题样式步骤详解阅读:28 
-   20+道必知必会的Vue面试题(附答案解析) 20+道必知必会的Vue面试题(附答案解析)阅读:37 
-   HTML如何制作表单 HTML如何制作表单阅读:22 
-   百词斩可以改天数吗?当然可以,4个步骤轻松修改天数! 百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!阅读:31 
-   ET文件格式和XLS格式文件之间如何转化? ET文件格式和XLS格式文件之间如何转化?阅读:24 
-   react和vue的区别及优缺点是什么 react和vue的区别及优缺点是什么阅读:121 
-   支付宝人脸识别如何关闭? 支付宝人脸识别如何关闭?阅读:21 
-   腾讯微云怎么修改照片或视频备份路径? 腾讯微云怎么修改照片或视频备份路径?阅读:28 















