动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ C/C++教程 ]的信息

本月文章推荐
.C语言初学者入门讲座 第九讲 数组.
.自定义快速报表的打印预览窗口.
.使用 C++ Builder&nbs.
.在CB中响应消息及自定义消息.
.VC的若干实用小技巧(三).
.高手详解:sscanf函数的高级用法.
.C++ 类和类的定义.
.用TreeView浏览目录.
.C++ Builder 初学问与答 (十).
.VC开发小技巧(1).
.用C++访问SQL Server .
.控制台窗口界面的编程控制(六).
.C++语言常见问题解答(3).
.学C++不得不看的一篇文章.
.用C++制作有HTML风格的动态按钮.
.C++编译器如何实现异常处理(1).
.C语言程序设计(第4章 函数)--续.
.C++箴言:资源管理类的拷贝行为.
.C++习题与解析-继承和派生.
.C++ Builder 初学问与答(一).

MSComm控件使用详解

发表日期:2008-3-8 |



  摘要:本文具体介绍了MSComm控件在串口编程中使用。  


                 目    次  
MSComm控件两种处理通讯的方式  
CommPort属性  
RThreshold  属性  
CTSHolding  属性  
SThreshold  属性  
CDHolding  属性  
DSRHolding  属性  
Settings  属性  
InputLen  属性  
EOFEnable  属性  

Handshake  常数  
OnComm  常数  
InputMode  常数  
错误消息  


         MSComm 控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。MSComm控件在串口编程时非常方便,程序员不必去花时间去了解较为复杂的API函数,而且在VC、VB、Delphi等语言中均可使用。  Microsoft  Communications  Control(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。具体的来说,它提供了两种处理通信问题的方法:一是事件驱动(Event-driven)方法,一是查询法。  

1.MSComm控件两种处理通讯的方式  

MSComm控件提供下列两种处理通讯的方式:事件驱动方式和查询方式。    
1.1  事件驱动方式  

事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时需要得到通知,例如,在串口接收缓冲区中有字符,或者  Carrier  Detect  (CD)  或  Request  To  Send  (RTS)  线上一个字符到达或一个变化发生时。在这些情况下,可以利用  MSComm  控件的  OnComm  事件捕捉并处理这些通讯事件。OnComm  事件还可以检查和处理通讯错误。所有通讯事件和通讯错误的列表,参阅  CommEvent  属性。在编程过程中,就可以在OnComm事件处理函数中加入自己的处理代码。这种方法的优点是程序响应及时,可靠性高。每个MSComm  控件对应着一个串行端口。假如应用程序需要访问多个串行端口,必须使用多个  MSComm  控件。  

1.2  查询方式    

查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。在程序的每个要害功能之后,可以通过检查  CommEvent  属性的值来查询事件和错误。假如应用程序较小,并且是自保持的,这种方法可能是更可取的。例如,假如写一个简单的电话拨号程序,则没有必要对每接收一个字符都产生事件,因为唯一等待接收的字符是调制解调器的“确定”响应。    

2.MSComm  控件的常用属性  
  MSComm控件有很多重要的属性,但首先必须熟悉几个属性。  

  CommPort  设置并返回通讯端口号。    
  Settings  以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。    
  PortOpen  设置并返回通讯端口的状态。也可以打开和关闭端口。    
  Input     从接收缓冲区返回和删除字符。    

  Output    向传输缓冲区写一个字符串。  

下面分别描述:    

CommPort属性  设置并返回通讯端口号。  
语法  object.CommPort[value  ]  (value  一整型值,说明端口号。)    
说明  在设计时,value  可以设置成从  1  到  16  的任何数(缺省值为  1)。但是假如用  PortOpen  属性打开一个并不存在的端口时,MSComm  控件会产生错误  68(设备无效)。  
注重:必须在打开端口之前设置  CommPort  属性。  

RThreshold  属性:在  MSComm  控件设置  CommEvent  属性为  comEvReceive  并产生  OnComm  之前,设置并返回的要接收的字符数。  
语法  object.Rthreshold  [  =  value  ](value  整型表达式,说明在产生  OnComm  事件之前要接收的字符数。  )  
说明  当接收字符后,若  Rthreshold  属性设置为  0(缺省值)则不产生  OnComm  事件。例如,设置  Rthreshold  为  1,接收缓冲区收到每一个字符都会使  MSComm  控件产生  OnComm  事件。  

CTSHolding  属性:确定是否可通过查询  Clear  To  Send  (CTS)  线的状态发送数据。Clear  To  Send  是调制解调器发送到相联计算机的信号,指示传输可以进行。该属性在设计时无效,在运行时为只读。  
语法:  object.CTSHolding(Boolean)  

Mscomm  控件的  CTSHolding  属性设置值:  
True  Clear  To  Send  线为高电平。    
False  Clear  To  Send  线为低电平。    

说明:假如  Clear  To  Send  线为低电平  (CTSHolding  =  False)  并且超时时,MSComm  控件设置  CommEvent  属性为  comEventCTSTO  (Clear  To  Send  Timeout)  并产生  OnComm  事件。  

Clear  To  Send  线用于  RTS/CTS  (Request  To  Send/Clear  To  Send)  硬件握手。假如需要确定  Clear  To  Send  线的状态,CTSHolding  属性给出一种手工查询的方法。  

具体信息  有关握手协议,请参阅  Handshaking  属性。  

SThreshold  属性:  MSComm  控件设置  CommEvent  属性为  comEvSend  并产生  OnComm  事件之前,设置并返回传输缓冲区中答应的最小字符数。  

语法  object.SThreshold  [  =  value  ]  

value  整形表达式,代表在  OnComm  事件产生之前在传输缓冲区中的最小字符数。    

说明:若设置  Sthreshold  属性为  0(缺省值),数据传输事件不会产生  OnComm  事件。若设置  Sthreshold  属性为  1,当传输缓冲区完全空时,MSComm  控件产生  OnComm  事件。假如在传输缓冲区中的字符数小于  value,CommEvent  属性设置为  comEvSend,并产生  OnComm  事件。comEvSend  事件仅当字符数与  Sthreshold  交叉时被激活一次。例如,假如  Sthreshold  等于  5,仅当在输出队列中字符数从  5  降到  4  时,comEvSend  才发生。假如在输出队列中从没有比  Sthreshold  多的字符,comEvSend  事件将绝不会发生。  


Handshake  常数  

常数  值  描述   
上一篇:Networks(网络) 人气:261
下一篇:MINI-FOOLFLY 游戏代码 人气:348
浏览全部C/C++的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-7 站长中国企业(公司)网站系统 v4.2
2008-9-7 PBDigg v2.0 Build 20080821
2008-9-7 玩玩小游戏FLASH系统 v2.1
2008-9-7 522QQ在线电视直播程序 v1.1
2008-9-7 Pcook cms 文章管理系统 (老Y CM
2008-9-7 仿代码小说小偷系统 v1.0
2008-9-7 百度一搜集成搜索管理系统
2008-9-7 小贤统计器 v1.0
2008-9-7 UCenter Home-中秋搏饼插件 v1.2
2008-9-7 iBlacklist通话黑名单汉化破解补
2008-9-7 EndlessWalls无尽壁纸 v1.0.4破解
2008-9-7 Dynolicious车载测量仪v1.1破解版
2008-9-7 iVoodoo巫毒娃娃1.0.1破解版
2008-9-7 iWallpape精品墙纸1.2破解版
2008-9-7 iChillout自然音效工具1.1破解版
2008-9-7 Todo计划提醒1.2破解版
2008-9-7 allRadio电台集合1.01破解版
2008-9-7 My Money个人理财1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号