CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  网络通信/分布式开发

关用MSCOMM控件串口通讯的问题

楼主march31(请问:把硬盘数据删除一些能减轻主机的重量么?)2005-06-02 15:59:44 在 Delphi / 网络通信/分布式开发 提问

我的电脑有一个串口,如果把2,3脚连起来,可不可以自己发送数据给自己?  
                  在delphi7里用mscomm控件,把edit里的数据发出去,自己接收,在memo里显示。  
                  哪位大侠给个代码,小弟谢谢了。 问题点数:100、回复次数:4Top

1 楼cjf1009(农民程序员)回复于 2005-06-02 16:54:08 得分 60

Mscomm的属性你应该好好看一下.大概就这样:  
         
        Mscomm1.PortOpen   :=True;     //打开COM口  
        Mscomm1.PortOpen   :=False;     /关闭COM口  
     
        s   :=String(Mscomm1.Input);     //得到数据  
        Edit1.Text   :=s;  
   
        Mscomm1.OutPut   :=Edit1.Text;     //输出数据  
   
  另外   ,InputMode   ,InputBufferCount等属性也很重要  
   
  例如,你在窗体上放了一个Button1   ,一个Button2,一个Edit1,一个Mscomm1    
           
  procedure   TForm1.Button1Click(Sender   :TObject);  
  begin  
            repeat  
            until   Mscomm1.InputBufferCount   >=1;  
   
            Edit1.Text   :=String(Mscomm1.Input);  
  end;  
   
  procedure   TForm1.Button2Click(Sender   :TObject);  
  begin  
            Mscomm1.Inputm   :=Edit1.Text   ;  
  end;  
           
  procedure   TForm1.Create(Sender   :TObject);  
  begin  
            MsComm1.ComPot   :=2;     //设置COM号  
            MsComm1.Settings   :='2400,8,n,1';   //设置参数  
               
            MsComm1.PortOpen   :=True;  
  end;  
   
  procedure   TForm1.Destroy(Sender   :TObject);  
  begin  
            MsComm1.PortOpen   :=False;  
  end;    
  Top

2 楼march31(请问:把硬盘数据删除一些能减轻主机的重量么?)回复于 2005-06-03 09:13:53 得分 0

先谢谢。  
  怎么有时候我发送‘vasdfgh’,在memo里这样显示  
  v  
  asdfgh  
  vasdfgh  
  ……  
  后面就正常了  
  开始不正常啊Top

3 楼happyggy(Delphi<-&&->java)回复于 2005-06-03 09:34:46 得分 40

procedure   TForm1.Button1Click(Sender   :TObject);  
  begin  
            repeat  
            until   Mscomm1.InputBufferCount   >=1;  
            if   length(mscomm1.input)>=length('vasdfgh')   then   //加这一句,因为读串口的时候有残留  
                  Edit1.Text   :=String(Mscomm1.Input);                       //每次读都要判断是否是你需要的格式      
  end;  
  Top

4 楼march31(请问:把硬盘数据删除一些能减轻主机的重量么?)回复于 2005-06-03 16:07:47 得分 0

To   happyggy:  
                        你的代码我试了,好象不行啊。  
                        我改成  
                        procddure   TForm1.ButtonClick(Sender:Tobject);  
                        begin  
                                  repeat  
                                  until   Mscomm1.InBuffercount   >=length(Edit1.text);  
                                  memo1.text   :=String(Mscomm1,input);  
    这样好象可以了Top

相关问题

  • 关于串口通讯控件(Mscomm)
  • 关于CPORT3.0控件和串口通讯!!
  • 使用MSComm控件来串口通讯,关于接收多字节时候会截断的问题
  • 怎么添加MSComm(串口通讯)控件?
  • 如何使用MSComm控件来实现串口通讯!~
  • 如何将串口通讯控件(MSCOMM)放入COM中
  • PB下有关于串口通讯的控件或方法吗
  • 串口通讯,用mscomm
  • MSCOMM串口通讯问题
  • Wince下面的串口通讯控件

关键词

  • 数据
  • mscomm
  • inputbuffercount
  • portopen
  • tobject
  • edit
  • procedure tform
  • memo
  • sender
  • repeat until

得分解答快速导航

  • 帖主:march31
  • cjf1009
  • happyggy

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo