请教给位前辈 串口字符收发问题(50分)

  • 主题发起人 主题发起人 hangyang
  • 开始时间 开始时间
H

hangyang

Unregistered / Unconfirmed
GUEST, unregistred user!
我用mscomm控件写的串口收发程序。把232的2,3两脚短接。用edit1来发送字符,
edit2用来接收字符。但点击发送键edit2却没有收到。用串口调试助手可以收发。
procedure TForm1.FormCreate(Sender: TObject);
begin

if MSComm1.PortOpen then
MSComm1.PortOpen := false;
MSComm1.CommPort := 1;
MSComm1.Settings := '9600,n,8,1';
MSComm1.InputLen := 0;
MSComm1.InBufferCount := 0;
MSComm1.OutBufferCount:=0;
MSComm1.RThreshold := 32;
MSComm1.PortOpen := true;
end;
procedure TForm1.MSComm1Comm(Sender: TObject);
begin
Edit2.Test:=Mscomm1.Input;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Mscomm1.Output:=Edit1.Test;
end;
请前辈们指点一下
 
对这个控件不熟。随便说下,说得不对的请原谅。.outbuffercount:=0是什么意思,为什么要这样做。我一般用com口时,把buffer设置成1024。不知道那个outbuffercount是不是相同的含义。
 
MSComm1.OutBufferCount:=0;// 清除发送缓冲区
 
RThreshold 是啥意思,好像是配置一个什么东东的。你把它置为1试试。好像置为1才产生oncomm事件的吧?
 
把MSComm1.RThreshold := 32;
改成MSComm1.RThreshold := 1;
 
多谢二位前辈指点
我已经解决了
[:)]
 
多人接受答案了。
 
后退
顶部