各位大哥,我是刚开始学做串口的,下面这段代码为什么不能把 '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;
是哪里漏了什么么?谢谢了。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;
解决方案 »
- 可以在 Delphi 下用的.哪个skin 可以免费使用?可以商用.
- 繁荣D区之亚洲杯足彩篇-第一期(试行)
- 准备学习delphi,大家有什么好的建议!谢谢拉!
- 各位斑主,急啊!! mySQL服务器的问题?
- 工程的可执行文件怎样支持命令行参数?如在命令行打入test.exe one two three
- 关于fastreport问题
- 怎样调用 颜色公共对话框? 谢谢
- 急急急 url的生成?
- 请教一个简单的问题:如何在程序中发送一个键值,如VK_UP键,让程序相应响应响应的事件/nc
- 急救!急救!!!我都要成伍子胥过关了!高手们,请详细讲讲query与updatesql一起用的方法。我看过帮助也找过文档,更曾经实现过,但现在全完完了,就一“updatesql fail!”愿出60分,苦盼高手指点”
- 一个源文件包含了部分没有安装的控件,如何修改最简单?
- 如何设计机房登陆系统?
还有下面的代码看着不怎么对劲 把错误代码贴下
因为我正好在做短信包
inbuff:array of Byte;
i:integer;
tempstr:string;
begin
If MScomm1.CommEvent=2 Then
Begin
sleep(100);
Setlength(inbuff,MScomm1.InBufferCount);//设置接收数组的长度
Inbuff:=MScomm1.Input;//将串口接收的数据置入动态数组
Tempstr:='';
For i:=0 To length(inbuff)-1 do
Tempstr:=Tempstr+inttostr(inbuff[i])+'';
memo2.Lines.Add(Tempstr);
End;
end;
也许会对你有帮助 自己看
不胜感激了。