首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi 与 232 串口的 有关问题

2012-03-22 
delphi 与 232 串口的 问题rbuf:array[1..MaxByte] of bytemmx:array[1..32] of bytes : byte s1 : byt

delphi 与 232 串口的 问题
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;

校验和 怎么算都不对

[解决办法]
协议是什么?

是不是应该是

Delphi(Pascal) code
s:Word;s := rbuf[3]*256 + rbuf[4]; 

热点排行