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版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28