一种多通道不同速率串口数据传输及控制方法的设计与实现.pdfVIP

一种多通道不同速率串口数据传输及控制方法的设计与实现.pdf

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

孙町平等:一·种多通道不同速率串n数据传输及控制方法的设计与实现 ·91· ’ 一种多通道不同速率串口数据传输及 控制方法的设计与实现 孙可平,张中英 (总装上程兵科研二所,北京100093) 摘要:串行通信由于成本低、距离远、质量高而在数据传输领域得到了广泛的应用。本文针 对多通道不同速率的串行通信情形进行了深入研究,提出了一种行之有效的解决串口数据冗余、兼 顾数据响应的有效性和实时性的方法,为多通道串行通信应用的开发实践提供了理论参考。 关键词:多通道;串行通信;数据冗余;缓冲区管理 写成功后,读写线程以某种方式通知主线程。所谓 1 引言 事件驱动方式是指当串口接收缓冲区收到数据时, 串行通信由于成本低、距离远、质量高而在数据 自动执行接收数据的函数,对缓冲区中的数据进行 传输领域得到了广泛的应用。在某操作训练模拟器 相应的处理。同步查询方式操作方法简单,但当数 的设计与实现过程中,由于其串口控制设备多,且各 据写入时间较长时,将会使程序挂起,降低程序的效 个串口的速率不同,出现了串121数据冗余、数据响应 率。重叠I/O方式通过两个线程协调工作,可以明 的有效性和实时性难以同时兼顾等问题,本文针对 显地提高程序执行的效率。事件驱动方式程序执行 这一问题进行了深入的研究,在此基础上提出了一 效率高,但编程复杂。对于各种控制面板类的串口 种多通道不同速率串口数据传输及控制方法,此方 通信设备而言,其串口通信数据到来的时刻是随机 法已成功应用于某模拟器训练软件的串口通信程序 的,如果采用同步查询方式将非常浪费系统资源,而 设计中。 重叠I/O方式又无法实现有数据到来时,程序自动接 u通f_设备q|串u通信没备2l}申口通信设备 收,所以采用事件驱动方式比较容易解决多通道不同 ’’‘。’。 速率下串口通信控制设备的数据传输和控制问题。 coMl 1fc()M2 1f‘:o^13 3数据实时监控 主羟计算机 在某模拟器串口通信程序设计中为使程序能自 图1 多通道串口通信结构图 动接收缓冲区中的数据,建立了一个事件线程,用它 来监视串口的事件和错误信息,当有事件或错误发 生时,它向主线程发送一个Windows消息,主线程在 2数据读取机制 消息响应函数中处理已发生的事件或错误。某模拟 器串口数据传输及控制原理如图2所示。 采用WinAPI进行串口通信程序设计具有很强 的灵活性,串口和其它通信设备进行数据通信时大 串口数据实时监控线程负责监视串口事件,定 致有三种编程方法:同步查询方式、重叠I/O方式和 时获取等待事件对象句柄,一旦成功获取事件结果 事件驱动方式。所谓同步查询方式就是指当计算机 则开始判断事件结果的掩码值,如果接收到的是数 发出读或写串口命令后,必须等待读或写命令返回 据则向主线程发送消息,Windows在消息响应函数 后,才能继续执行该命令后面的命令。所谓重叠I/ 里执行相应的操作,如果接收到发送缓冲区已空的 0

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档