当前位置: 首页 > news >正文

alex网站建设学设计的培训机构

alex网站建设,学设计的培训机构,民族文化网站建设的作用,秀米网站怎么做推文通信控件MSComm使用详解MSComm 控件通过串行端口传输和接收数据#xff0c;为应用程序提供串行通讯功能。MSComm控件在串口编程时非常方便#xff0c;程序员不必去花时间去了解较为复杂的API函数#xff0c;而且在VC、VB、Delphi等语言中均可使用。 Microsoft Communication…通信控件MSComm使用详解MSComm 控件通过串行端口传输和接收数据为应用程序提供串行通讯功能。MSComm控件在串口编程时非常方便程序员不必去花时间去了解较为复杂的API函数而且在VC、VB、Delphi等语言中均可使用。 Microsoft Communications Control以下简称MSComm是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件它为应用程序提供了通过串行接口收发数据的简便方法。具体的来说它提供了两种处理通信问题的方法一是事件驱动(Eventdriven)方法一是查询法。 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.CTSHoldingBoolean 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 事件。如果在传输缓冲区中的字符数小于 valueCommEvent 属性设置为 comEvSend并产生 OnComm 事件。comEvSend 事件仅当字符数与 Sthreshold 交叉时被激活一次。例如如果 Sthreshold 等于 5仅当在输出队列中字符数从 5 降到 4 时comEvSend 才发生。如果在输出队列中从没有比 Sthreshold 多的字符comEvSend 事件将绝不会发生。 Handshake 常数 常数 值  描述  comNone 0  无握手。  comXonXoff 1  XOn/Xoff 握手。 comRTS 2  Request-to-send/clear-to-send 握手。  comRTSXOnXOff 3  Request-to-send 和 clear-to-send 握手皆可。  OnComm 常数 常数 值 描述 comEvSend 1  发送事件。 comEvReceive 2  接收事件。 comEvCTS 3  clear-to-send 线变化。  comEvDSR 4  data-set ready 线变化。 comEvCD 5  carrier detect 线变化。 comEvRing 6  振铃检测。 comEvEOF 7  文件结束。 Error 常数 常数  值  描述  comEventBreak  1001  接收到中断信号  comEventCTSTO 1002  Clear-to-send 超时  comEventDSRTO 1003 Data-set ready 超时  comEventFrame 1004 帧错误  comEventOverrun 1006  端口超速  comEventCDTO 1007 Carrier detect 超时 comEventRxOver 1008 接收缓冲区溢出 comEventRxParity 1009 Parity 错误  comEventTxFull 1010 传输缓冲区满 comEventDCB 1011  检索端口 设备控制块 (DCB) 时的意外错误  InputMode 常数 常数 值 描述 comInputModeText 0 缺省 通过 Input 属性以文本方式取回数据。  comInputModeBinary 1  通过 Input 属性以二进制方式检取回数据。 CDHolding 属性通过查询 Carrier Detect (CD) 线的状态确定当前是否有传输。Carrier Detect 是从调制解调器发送到相联计算机的一个信号指示调制解调器正在联机。该属性在设计时无效在运行时为只读。 语法 object.CDHolding 设置值CDHolding 属性的设置值为 设置  描述  True  Carrier Detect 线为高电平  False Carrier Detect 线为低电平 说明注意当 Carrier Detect 线为高电平 (CDHolding True) 且超时时MSComm 控件设置CommEvent 属性为 comEventCDTOCarrier Detect 超时错误并产生 OnComm 事件。 注意 在主机应用程序中捕获一个丢失的传输是特别重要的例如一个公告板因为呼叫者可以随时挂起放弃传输。 Carrier Detect 也被称为 Receive Line Signal Detect (RLSD)。 数据类型Boolean DSRHolding 属性确定 Data Set Ready (DSR) 线的状态。Data Set Ready 信号由调制解调器发送到相连计算机指示作好操作准备。该属性在设计时无效在运行时为只读。 语法object.DSRHolding object 所在处表示对象表达式其值是“应用于”列表中的对象。 DSRHolding 属性返回以下值 值  描述 说明 True Data Set Ready 线高    当 Data Set Ready 线为高电平 (DSRHolding True) 且超时时MSComm 控件设置 CommEvent 属性为 comEventDSRTO数据准备超时并产生 OnComm 事件。  当为 Data Terminal Equipment (DTE) 机器写 Data Set Ready/Data Terminal Ready 握手例程时该属性是十分有用的。  数据类型:Boolean False Data Set Ready 线低  Settings 属性: 设置并返回波特率、奇偶校验、数据位、停止位参数。 语法: object.Settings[ value] 说明当端口打开时如果 value 非法则 MSComm 控件产生错误 380非法属性值。 Value 由四个设置值组成有如下的格式 BBBB,P,D,S BBBB 为波特率P 为奇偶校验D 为数据位数S 为停止位数。value 的缺省值是 9600,N,8,1 InputLen 属性设置并返回 Input 属性从接收缓冲区读取的字符数。 语法 object.InputLen [ value] InputLen 属性语法包括下列部分 value 整型表达式说明 Input 属性从接收缓冲区中读取的字符数。 说明InputLen 属性的缺省值是 0。设置 InputLen 为 0 时使用 Input 将使 MSComm 控件读取接收缓冲区中全部的内容。 若接收缓冲区中 InputLen 字符无效Input 属性返回一个零长度字符串 ()。在使用 Input 前用户可以选择检查 InBufferCount 属性来确定缓冲区中是否已有需要数目的字符。该属性在从输出格式为定长数据的机器读取数据时非常有用。 EOFEnable 属性确定在输入过程中 MSComm 控件是否寻找文件结尾 (EOF) 字符。如果找到 EOF 字符将停止输入并激活 OnComm 事件此时 CommEvent 属性设置为 comEvEOF 语法object.EOFEnable [ value ] EOFEnable 属性语法包括下列部分 value 布尔表达式确定当找到 EOF 字符时OnComm 事件是否被激活如“设置值”中所描述。 value 的设置值 True 当 EOF 字符找到时 OnComm 事件被激活。 False 缺省当 EOF 字符找到时 OnComm 事件不被激活。 说明当 EOFEnable 属性设置为 FalseOnComm 控件将不在输入流中寻找 EOF 字符。 3.错误消息MS Comm 控件 下表列出 MSComm 控件可以捕获的错误 值  描述  380  无效属性值 comInvalidPropertyValue 383 属性为只读 comSetNotSupported 394 属性为只读 comGetNotSupported 8000 端口打开时操作不合法 comPortOpen 8001 超时值必须大于 0  8002  无效端口号 comPortInvalid 8003 属性只在运行时有效  8004 属性在运行时为只读  8005 端口已经打开 comPortAlreadyOpen 8006 设备标识符无效或不支持该标识符  8007 不支持设备的波特率  8008 指定的字节大小无效 8009 缺省参数错误 8010 硬件不可用被其它设备锁定 8011 函数不能分配队列 8012 设备没有打开 comNoOpen  8013 设备已经打开  8014 不能使用 comm 通知 8015 不能设置 comm 状态 comSetCommStateFailed 8016 不能设置 comm 事件屏蔽  8018  仅当端口打开时操作才有效 comPortNotOpen  8019  设备忙  8020  读 comm 设备错误 comReadError 8021  为该端口检索设备控制块时的内部错误 comDCBError
http://www.w-s-a.com/news/264077/

相关文章:

  • 做网站设计怎么进企业电子商务网站建设与管理教材
  • 设计广告公司网站建设网站开发技术选择
  • 个人网站教程个人网站有必要备案吗
  • 网站建设推广好做吗黄浦企业网站制作
  • 怎样做28网站代理中山网站建设方案外包
  • vs2010做网站前台搭建小网站
  • 做视频必须知道的一些网站wordpress 标签鼠标滑过_弹出的title 代码美化
  • 怎么做室内设计公司网站电商运营培训视频课程
  • 昆明网站策划天津市建筑信息平台
  • 三亚放心游app官方网站wordpress 个人主题
  • 做简单的网站备案平台新增网站
  • 中国建设网站银行网络营销推广方案整合
  • 网站域名列表dede网站白屏
  • 站长工具一区品牌建设卓有成效
  • 电子商务网站建设案例wordpress批量编辑
  • 想代理个网站建设平台100个最佳市场营销案例
  • 钟表东莞网站建设石家庄做网站时光
  • 织梦 图片网站源码成都建设工程安监局网站
  • 做兼职的网站策划书湖北省建设工程造价信息网
  • 企业网站网址长期做网站应该购买稳定的空间
  • 网站静态化设计html5手机网站制作
  • 深圳最简单的网站建设家居网站建设全网营销
  • 如何取消网站备案佛山网站优化公司
  • 网站开发 成都广水网站设计
  • 音乐网站建设目标合同管理系统
  • jq网站特效插件如何知道网站是否被k
  • 自己的网站怎么接广告网站搭建收费
  • 宁波大型网站制作建立一个网站 优帮云
  • 大连零基础网站建设教学电话有哪些比较好的做ppt好的网站
  • 哪个网站做logo设计我的建筑网