帮忙一个串口发送程序解读 ( 积分: 50 )

  • 主题发起人 主题发起人 weijian012345
  • 开始时间 开始时间
W

weijian012345

Unregistered / Unconfirmed
GUEST, unregistred user!
下面程序解读下,在comEvSend事件中,看不明白,说每传输一个字符 来个oncomm事件,请给详细点的程序流程啊,谢谢,分不够再加.
if mscomm.outbuffercount>=2 then // 这句挂这怎么个执行流程
break;
这句挂那 具体怎么个过程想不通,帮忙写下执行过程
procedure TCommForm.MSCommComm(Sender: TObject);
var
filenrc :char;
buffer :variant;
s1:string;
c :char;
begin
case mscomm.commEvent of
comEvSend:
begin
while not(eof(readf)) do
begin
read(readf,filenrc);
mscomm.output:=filenrc;
j:=j+1;
lblDisplay.caption:=inttostr(j);
if mscomm.outbuffercount>=2 then // 这句挂这怎么个执行流程
break;
end;
 
var
i, InputLen: Integer;
tmpInt: Integer;
tmpByte: array of Byte;
InputStr: string;
begin
InputStr:= '';
SetLength(tmpByte, MSComm.InBufferCount);
tmpByte:= MSComm.Input;

if MSComm.CommEvent = 2 then
begin
InputLen:= MSComm.InBufferCount;

for i:= 0 to InputLen - 1 do
begin
tmpInt:= tmpByte;
InputStr:= InputStr + UpperCase(IntToHex(tmpInt, 2)) + #32;
end;
end;
MemRecv.Text:= MemRecv.Text + InputStr + #13 + #10;
end;
 
改成字符发送 也就是非十六进制发送
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
633
import
I
后退
顶部