CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  Windows SDK/API

关于CPORT3.0控件和串口通讯!!

楼主sfwss(小凯)2005-02-07 14:24:24 在 Delphi / Windows SDK/API 提问

unit   Unit1;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,  
      Dialogs,   CPort,   StdCtrls;  
   
  type  
      TForm1   =   class(TForm)  
          Button1:   TButton;  
          ComPort1:   TComPort;  
          procedure   Button1Click(Sender:   TObject);  
          procedure   ComPort1RxBuf(Sender:   TObject;   const   Buffer;   Count:   Integer);  
      private  
          {   Private   declarations   }  
      public  
          {   Public   declarations   }  
      end;  
   
  var  
      Form1:   TForm1;  
   
  implementation  
   
  {$R   *.dfm}  
   
  procedure   TForm1.Button1Click(Sender:   TObject);  
  begin  
    ComPort1.Open;  
    ComPort1.WriteStr('AT'+#13);  
    ComPort1.OnRxBuf:=ComPort1RxBuf;  
  end;  
   
  procedure   TForm1.ComPort1RxBuf(Sender:   TObject;   const   Buffer;  
      Count:   Integer);  
  begin  
    showmessage('ok');  
  end;  
   
  end.  
  ********************************************************************  
  上面是我写的测试程序,为什么RxBuf没有反应呢??RxChar就可以用。。。 问题点数:50、回复次数:3Top

1 楼gemouzhi(^_^)回复于 2005-02-07 15:04:56 得分 50

你用ComPort1.Write(const   buffer;   count:   Integer)试试Top

2 楼sfwss(小凯)回复于 2005-02-07 19:06:34 得分 0

我跟踪运行,发现在CPORT.pas中的  
  procedure   TComThread.DoEvents;  
  begin  
      if   evError   in   FEvents   then  
          FComPort.CallError;  
      if   evRxChar   in   FEvents   then  
          FComPort.CallRxChar;  
      if   evTxEmpty   in   FEvents   then  
          FComPort.CallTxEmpty;  
      if   evBreak   in   FEvents   then  
          FComPort.CallBreak;  
      if   evRing   in   FEvents   then  
          FComPort.CallRing;  
      if   evCTS   in   FEvents   then  
          FComPort.CallCTSChange;  
      if   evDSR   in   FEvents   then  
          FComPort.CallDSRChange;  
      if   evRxFlag   in   FEvents   then  
          FComPort.CallRxFlag;  
      if   evRLSD   in   FEvents   then  
          FComPort.CallRLSDChange;  
      if   evRx80Full   in   FEvents   then  
          FComPort.CallRx80Full;  
  end;  
   
  这段里就没有CallRxBuf   呀。。。Top

3 楼sfwss(小凯)回复于 2005-02-09 01:36:34 得分 0

没人知道吗????顶上去Top

相关问题

  • modem和串口通讯(ActiveX控件MSCOMM32.OCX)丢数据什么原因?
  • modem和串口通讯(ActiveX控件MSCOMM32.OCX)丢数据什么原因?
  • modem和串口通讯(ActiveX控件MSCOMM32.OCX)丢数据什么原因?
  • modem和串口通讯(ActiveX控件MSCOMM32.OCX)丢数据什么原因?
  • modem和串口通讯(ActiveX控件MSCOMM32.OCX)丢数据什么原因?
  • 关于串口通讯控件(Mscomm)
  • Wince下面的串口通讯控件
  • 串口通讯控件Mscomm32.ocx的应用
  • socket和串口通讯
  • 问串口通讯和socket通讯

关键词

  • comport
  • cport
  • rxbuf
  • then fcomport
  • tform
  • tobject
  • procedure
  • sender
  • const buffer
  • integer

得分解答快速导航

  • 帖主:sfwss
  • gemouzhi

相关链接

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

广告也精彩

反馈

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