关于MSCOMM控件的问题
各位大哥,我是刚开始学做串口的,下面这段代码为什么不能把 'abcdefghijklmnopqrstuvwxyz' 输出到MEMO1中去啊。
是哪里漏了什么么?谢谢了。
procedure TForm1.FormCreate(Sender: TObject);
begin
if MSComm1.PortOpen then MSComm1.PortOpen := false;//关闭端口
MSComm1.CommPort := 1;//设置端口1
MSComm1.InBufferSize := 512;//设置接收缓冲区为512个字节
MSComm1.OutBufferSize := 512;//设置发送缓冲区为512个字节
MSComm1.Settings := '9600,n,8,1';//9600波特率,无校验,8位数据位,1位停止位
MSComm1.InputLen := 0;//读取缓冲区全部内容(26个字节)
MSComm1.InBufferCount := 0;// 清除接收缓冲区
MSComm1.OutBufferCount:=0;// 清除发送缓冲区
MSComm1.RThreshold := 26;//设置接收26个字节产生OnComm 事件
MSComm1.InputMode := comInputModeText;//文本方式
// MSComm1.InputMode := comInputModeBinary;//二进制方式
MSComm1.PortOpen := true;//打开端口
mscomm1.RTSEnable:=true;
mscomm1.DTREnable:=true;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
mscomm1.Output:='abcdefghijklmnopqrstuvwxyz';
end;
procedure TForm1.MSComm1Comm(Sender: TObject);
begin
case mscomm1.CommEvent of
2:memo1.Text:=memo1.Text+mscomm1.Input;
end;
end;