PB串口通信技术.pdfVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PowerBuilder中串行通信编程技术研究(1)

摘要:介绍了在PowerBuilder中调用Win32API函数、使用Mscomm32.ocx通信

控件、利用VCL通信组件和调用DLL(动态链接库)中的函数来实现串行通信的

方法,分析总结了各种方法的优缺点。

关键词:串行通信;事件驱动;应用程序接口;动态链接库

引言

在自动控制中,用PC机对工程实现实时监控,通常要求PC机能在用户界面

上具有数据采集、数据处理以及控制信号的产生与传输等功能。在这种情况下,

PC机要与过程控制的信号相联系,就要求能实现对PC机的串行端口直接操作。

串行通信具有传输距离长、连接简单、使用灵活方便、数据传输可靠性高等特点,

在工业监控、数据采集和实时控制系统中得到了广泛应用。

PowerBuilder(简称PB)是一种可视化的、面向对象的快速交互式应用开发工具。

PB以其简洁高效的集成开发环境、强大的数据窗口技术、便捷的报表生成及打

印功能,越来越受到广大开发人员的青睐。在各种开发软件中,PB对于数据库

的上层编程支持是名列前茅的,但是,PB对计算机的底层支持略显薄弱,没有

提供串行通信的命令、函数或控件,与其它设备之间进行数据通信较为困难,笔

者根据自己在PB编程中积累的经验,介绍了几种在PB中实现串行通信的方法。

1串行数据通信

1.1工作原理

Windows是一个事件驱动的与设备无关的多用户操作系统,它禁止应用程序

直接和硬件交互,程序员只能通过Windows提供的各类驱动程序来管理硬件。

Windows系统函数包含了通信支持中断功能,Windows系统为每个通信设备开

辟了用户定义的输入输出缓冲区(即读写缓冲区),数据进出通信口均由系统后

台来完成。应用程序只需完成对输入输出缓冲区操作就可以了。实际过程是每接

收一个数据就产生一个低级硬件中断,Windows系统中的串行驱动程序就取得

了控制权,并将接收到的数据放入输入数据缓冲区,然后将控制权返还正在运行

的应用程序。如果缓冲区数据已满,串行驱动程序用当前定义的流控制机制通

知发送方停止发送数据。队列中的数据按“先进先出”的次序处理。

1.2通信方式

串行通信的数据是一位接一位顺序地传送下去,通信方式有以下几种:

(1)异步通信方式

异步通信方式中,数据是一帧一帧(包括一个字符或一字节数据)传送的,

每一串行帧的数据由起始位、数据位、奇偶校验位和停止位组成。

(2)同步通信方式

同步通信方式中,数据开始传送前用同步字符来指示(常约定1-2个),并由

时钟来实现发送端和接收端同步,即检测到规定的同步字符后,就连续按顺序传

送数据,直到通信告一段落。

(3)查询方式

查询方式是定时地查询串口的接收缓冲区,如果接收缓冲区有数据,就读取

数据;若缓冲区中没有数据,继续执行,因此会占用大量的CPU时间,它实际

上是同步方式的一种派生。

(4)事件驱动方式

事件驱动方式通过设置事件通知,当所希望的事件发生时,Windows发出通

知,这与DOS环境下的中断方式很相似。

采用异步方式可以提高系统的整体性能,在对系统强壮性要求较高的场合,

建议采用这种方式。查询方式是一种最直接的读串口方式,但定时查询存在一个

致命的弱点,即查询是定时发生的,可能发生得过早或过晚。在数据变化较快

的情况下,特别是主控计算机的串口通过扩展板扩展到多个时,需定时地对所有

串口轮流查询,此时容易发生数据的丢失。虽然定时间隔越小,数据的实时性

越高,但系统的资源也被占去越多。事件驱动方式是一种高效的串口读方式,这

种方式的实时性较高,特别是对于扩展了多个串口的情况,只有当设定的事件

发生时,应用程序得到消息后,才进行相应的处理,避免了数据丢失。事件驱动

方式能够更好地处理串行端口通信交互,其优点是程序响应及时,可靠性高。

在实时性要求较高的场合建议采用事件驱动方式。

1.3实现步骤

利用PC机的串口实现串行通信的一般步骤如下:

(1)打开并配置串口

在应用程序中要使用串口进行通信,必须在使用前向操作系统提出资源申请,

要求打开串口,为了保证串口通信数据传输的可靠性,串口打开时一般都设置为

非共享模式,串口一旦被打开,其他的应用程序将无法打开或使用它。

在使用串口进行数据通信前必须对其进行配置,串口配置主要包括波特率、数据

位数、停止位数、奇偶校验、发送缓冲区大小、接收缓冲区

您可能关注的文档

文档评论(0)

YSY19991234 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档