当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:54:00  来源:本站整理

<b>在 C++ Builder中操纵串行通信控件编程</b>[VC/C++编程]

赞助商链接



  本文“<b>在 C++ Builder中操纵串行通信控件编程</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

择要:串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信便利易行,所以利用遍及.本文介绍了在C++ Builder中若何操纵串行通信控件举行串行通信编程.

1、引言

目前,在用计算机举行数据传输时,常用的是串行通信方法.用C++ Builder来编写串行通信程序时,可以调用Windows API函数,也可以操纵VB中的MSComm控件. 操纵 API函数编写实际利用程序时,常常要考虑多线程的问题,这样编出来的程序不但非常宏大,并且构造对比复杂,担当性差,保护艰难.但是利用串行通信控件就相对简单一些,并且功效强盛,性能安全坚固.本文就简单的介绍一下在C++ Builder中操纵MSComm控件举行编程.

2、MSComm控件的常用属性和事件

MSComm 控件通过串行端口传输和接纳数据,为利用程序供应串行通讯功效.具体的来说,它供应了两种处理通信问题的办法:一是事件驱动(Event-driven)办法,一是查询法.

事件驱动方法

在利用事件驱动法计划程序时,每当有新字符到达,或端口状况改变,或发生错误时,MSComm控件将解发OnComm事件,而利用程序在捕捉该事件后,通过查抄MSComm控件的CommEvent属性可以获知所发生的事件或错误,从而采纳呼应的操作.这种办法的长处是程序呼应及时,坚固性高.

查询方法

查询方法实质上还是事件驱动,但在有些情形下,这种方法显得更为便捷.在程序的每个关键功效之后,可以通过查抄 CommEvent 属性的值来查询事件和错误.假如利用程序较小,并且是自保持的,这种办法大概是更可取的.

1.MSComm 控件的常用属性

CommPort属性:设置或返回通讯端口号,可以设置为1到16之间的任何值,本系统采取缺省值2;

Settings属性:以字符串情势设置或返回波特率、奇偶校验、数据位和终止位,本系统采取缺省值"9600,n,8,1";

PortOpen属性:设置或返回通讯口的状况以及翻开和关闭端口,可通过把该属性设置为true大概false来翻开大概关闭端口;

InBufferSize和OutBufferSize属性:辨别设置接纳和发送缓冲辨别配的内存数目,单位为字节,缺省值辨别为1024byte和512byte;

InputLen属性:肯定但愿从接纳缓冲区移出的字符数目,当InputLen=0时,一次把接纳缓冲区的字符全部移出;

Input属性:从接纳缓冲区中读出数据,然后将该数据从缓冲区移走.

OutPut属性:向发送缓冲区传送待发送的数据.

InBufferCount和OutBufferCount属性:辨别肯定当前驻留在接纳缓冲区等候被取出和发送缓冲区预备发送的字符数目,这两个属性设置为0,接纳和发送缓冲区的内容将被排除;

InputMode属性:设置接纳传入数据的格局,设置为0采取文本情势,设置为1采取二进制格局,本系统设置为二进制格局举行发送和接纳;

SThreshold属性:保存一个产生发送OnComm事件的边界值,本系统设置该属性为0,发送数据时不产生OnComm事件;

RThreshold属性:设定当接纳几个字符时触发OnComm事件,本系统设置该属性为1,每接纳一个字符就产生一个OnComm事件;

2.MSComm控件的事件

MSCOMM控件只利用一个事件OnComm,用属性CommEvent的十七个值来辨别差别的触发机会.主要有以下几个:

(1)CommEvent=1时:传输缓冲区中的字符个数已少于Sthreshold(可设置的属性值)个.

(2)CommEvent=2时:接纳缓冲区中收到Rthreshold(可设置的属性值)个字符,操纵此事件可编写接纳数据的历程.

(3)CommEvent=3时:CTS线发生改变.

(4)CommEvent=4时:DSR线发生改变.

(5)CommEvent=5时:CD线发生改变.

(6)CommEvent=6时:检测到振铃信号.

别的十种情形是通信错误时产生,即错误代码.


  以上是“<b>在 C++ Builder中操纵串行通信控件编程</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .