📄 myproce.pas
字号:
unit myproce;
interface
uses
ComDrv32 ;
type
frametype=record
add:char;
command:char;
len:char;
databuff:array [0..255] of char;
crc:char
end;
function calfram(var framename:frametype):integer;
procedure sentoneframe(var framename:frametype);
var
rxframe,txframe:frametype;
flag1:boolean;
framelen:integer;
CommPortDriver1: TCommPortDriver;
implementation
function calfram(var framename:frametype):integer;
var
ch1:integer;
i:integer;
begin
ch1:=ord(framename.crc);
for i:=0 to ord(framename.len)-1 do
ch1:=ch1-ord(framename.databuff[i]);
ch1:=ch1-ord(framename.add);
ch1:=ch1-ord(framename.Command);
ch1:=ch1-ord(framename.len);
if ch1<0 then
ch1:=ch1+256;
if ch1=0 then
result:=1
else
result:=0;
end;
procedure sentoneframe(var framename:frametype);
var
i:integer;
begin
CommPortDriver1.SendData(@framename.add,1);
CommPortDriver1.SendData(@framename.command,1);
CommPortDriver1.SendData(@framename.len, 1);
for i:=0 to ord(framename.len)-1 do
CommPortDriver1.SendData(@framename.databuff[i], 1);
CommPortDriver1.SendData(@txframe.crc, 1);
flag1:=true;
framelen:=4+ord(framename.len);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -