📄 comm_sp.dpr
字号:
library comm_sp;
uses
SysUtils,
Classes,
Forms,
IdGlobal,
USpComm in 'USpComm.pas' {spComFrm};
{$R *.res}
{common transfer}
function createFrm():integer;
begin
try
spComFrm:= TspComFrm.Create(Application);
result:=0;
except on e:exception do
result:=-1;
end;
end;
function destoryFrm():integer;
begin
try
spComFrm.Free;
result:=0;
except on e:exception do
result:=-1;
end;
end;
{ourer transfer}
//打开串口
function openCom(comPort:integer; baudRate:integer; byteSize:integer;
stopBit:integer; parity:integer):integer; stdcall;
begin
result:=createFrm();
result:=spComFrm.openCom(comPort,baudRate,byteSize,stopBit,parity);
end;
//关闭串口
function closeCom():integer; stdcall;
begin
result:=spComFrm.closeCom;
result:=destoryFrm();
end;
//返回长度
function portread(recv:pchar):integer; stdcall;
begin
result:=spComFrm.portread(recv);
end;
function portwrite(trans:pchar; size:integer):boolean; stdcall;
begin
result:=spComFrm.portwrite(trans,size);
end;
function enableReceiveTimeout(mSecond:integer): boolean; stdcall;
var
FirstTickCount, Now: Longint;
begin
result:=false;
FirstTickCount := GetTickCount();
repeat
Application.ProcessMessages; //可以相应其它事件
if (bResponse) then break;
Now := GetTickCount();
until (Now - FirstTickCount >= mSecond) or (Now < FirstTickCount);
result:=true;
end;
function available:integer; stdcall;
begin
result:=lResponse;
end;
exports openCom, closeCom, portread, portwrite, enableReceiveTimeout, available;
begin
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -