当前位置: 网学 > 编程文档 > VB > 正文

Windows环境下的串行数据通信程序设计

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式

    夏云

    摘  要  该文详细讨论了MSCOMM.VBX通信控件在Windows平台下的通信软件设计方法,借
助于Visual Basic所附的通信控件能非常方便地开发出高级和专业性通信软件来满足不同
业务的需要。
    关键词  Windows  Visual Basic  通信控件  通信软件
    在Windows操作系统平台上开发通信软件时,虽然Windows 3.1 SDK提供了完备的API应
用程序接口函数和以中断方式驱动的通信设备驱动程序COMM.DRV,从而可以用C或C++来完成
这类应用程序的设计,但其复杂化和专业化程度仍然很高。所以,目前许多软件开发人员都
在使用Microsoft Visual Basic来开发Windows应用程序。本文将详细叙述VB环境的通信软
件开发方法,通过对通信控件MSCOMM.VBX的分析,我们可以看到利用VB来开发Windows平台下
的通信软件非常简单。最后结合我们工作中的一个实例来完整地描述该类软件的设计方法

    一、MSCOMM.VBX的描述
    VB中的串行通信控件已全面提供了使用RS-232来进行数据通信软件开发设计的所有细
则,Microsoft Visual Basic 3.0中的MSCOMM.VBX(需要安装在indowsystem\目录下)是199
2年Crescent software Inc. 公司专为Microsoft的VB平台设计的,它使用以下两种不同的
方式来处理和解决各类通信软件的开发和设计问题
    (1) 事件驱动,它和我们用C/C++写Windows软件时的窗口回调函数类似,是一种功能强
大的处理问题的方法。在实际工作中,往往要求我们处理许多通信中的相关事件。例如:当
线路数据到达本端或CD(Carrier Detect)和RTS(Request To Send)信号线状态发生变化时
,这就要求我们使用相应的事件来跟踪和处理。在该控件中,是使用OnComm来实现的,它也包
括检测和处理通信错误等方面的问题。以下是MSCOMM详细的错误和事件列表(读者可参阅S
KD或MSC/C++ 7.0等中的Windows.h有关的通信部分常数和函数原型):
    MSCOMM_ER_BREAKA收到一个Break signal.
    MSCOMM_ER_CDTOCD信号超时
    MSCOMM_ER_CTSTOCTS信号超时
    MSCOMM_ER_DSRTODSR信号超时
    MSCOMM_ER_FRAME帧错误发生
    MSCOMM_ER_OVERRUN接收数据丢失
    MSCOMM_ER_RXOVER接收缓冲器溢出
    MSCOMM_ER_RXPARITY纠验错
    MSCOMM_ER_TXFULL发送缓冲器满
    MSCOMM_EV_CDCD信号改变
    MSCOMM_EV_CTSCTS信号改变
    MSCOMM_EV_DSRDSR信号改变
    MSCOMM_EV_EOF收到一个文本文件结束字符(26)
    MSCOMM_EV_RING检测到一个振铃信号
    MSCOMM_EV_RECEIVE接收到设定的字符数时产生该事件
    MSCOMM_EV_SEND发生缓冲器中的字符数低于设定的数值时产生该事件
    以上常数定义在CONSTANT.TXT文件中。
    (2) 查询方式,由程序设计者来负责读取CommEvent的值并处理所发生的错误或事件。
通常简单的应用程序设计可采用这种方法。
    使用通信控件开发通信软件时,能非常简单地设计出同时访问多个通信口的程序,这就
是Windows的好处。例如使用Commi.OnComm,其中1≤i≤n(n:当前可用的通信口),就可以设
计多个通信串口处理

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号