多线程通讯技术应用.docVIP

  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文档。上传文档
查看更多
多线程通讯技术应用

多线程通讯技术应用 近年来计算机技术发展迅速,一些相关的计算机辅助技术也随着其发展而发展迅速,并且很多的技术已经被逐步地使用到了国民生产生活的各个领域中。伴随着计算机技术在工业控制领域应用,计算机与外围设备之间的通信控制得到广泛的应用的同时,其作用显得越来越重要。本文成功地利用VB建立了基于MSComm控件的两PC机之间的串行通讯。本文所作主要工作如下几点:比较详细地研究了有关串行通讯的原理与设计的问题;设计了利用串行通讯实现两PC间的数据传输的系统图;学习了MSComm控件,并且利用VB开发出了实现两PC间串行通信的程序。本文建立的程序完成了预定的目标,从而为企业局域网内的工业控制流的传递、信息的交换提供了一个较为成熟和完善的平台,对于相关技术人员和程序开发人员提供了一定的指导作用。 1基于WIN32API的串行通讯技术原理 1.1串行口的创建与打开 RS232串行口在WIN32系统可以类比为磁盘上的文件。在WIN32API中可以通过一个函数CreateFile()创建一个新文件或者打开已有的系统文件,有所区别的是函数的参数,当“创建方式”这一参数的值应为OPEN_EXISTING表示打开文件。另一方面值得注意的是在串行口文件使用的问题,当串行口文件“共享模式”的参数值为0时,串行口为独占使用方式,在串口独立使用的时候,其他的应用程序不能够并行,要并行,只有等到串行口的文件使用结束以后,才能关闭以便其他的应用程序共同使用这个串口。 1.2串行口的设置 串行口打开后就会产生一个串行口的句子,这个句子一般是HANDLE类型的变量hComm中存放起来的,而且对于hComm对该串行口实时操作时必须注意串行口的设置要进行初始化,否则很难实现串口行的操作。这些串口行的操作中要设置CommProp、CommConfig结构、串口状态、串口超时、标志等这些内容,而且这些设置中,以CommProp结构最大最复杂,其设置往往要包含最大发送序列和最大接受序列,所以这个结构的设置也是串口配置中最为关键的环节,而且是串口配置的核心部分内容,决定着关键的结构设置。 一般而言,将DCB结构进行初始化的过程主要是数据位数的定义过程,首先是对于每个字符的数据位数的奇偶、事件字符,停止位数,以及流量控制的方式以及串口发送的波特率进行校验和设置,然后再是关注设置的一些方法,比如在此串口的设置中,要预先得到缺省的配置再去修改参数部分,而且这样才能够令下个环节立刻可以将串口当前的状态进行反应,基带协议中带有分组头信息,包括了HFC信息与CRC信息,这些信息对于分组和传输过程中的错误都能够有效地进行检验,并得到充分的结果,而且在该基带协议中,出于有效载荷正确与否,可以将循环冗余校验码进行加载,加载的信息进行分组,然后在ARQ的方案基础上,对分组的荷载进行工作和分析。而话音在系统中,因为有效的分组头没有保护措施,所以蓝牙可以得到快速和没有编号的确认,而且在应答前,还要进行一次分组,返回过程一般使用ACK(ARQN=1)或者NAK(ARQN=0)程序,在程序形成的过程中,还是要进行ACK/NACK域的组成,这种组成可以在某个区域里才能了解负载接收,这种接受能够在区域里的编码是不是对的,并且便于根据实际情况,决定是否重新发送或者发送到下一个分组。 MSComm控件提供了使RS-232进行数据通信的所有协议,它有两种处理通信的方式,即事件驱动和查询方式,本文利用了事件驱动方式,可以满足工业用实时性的要求。但是这里特别指出的是一个MSComm控件只能对应一个串口。假如程序中要用到多个串口,那么相应的就有同等数量的MSComm控件,但是MSComm控件的数量并非没有限制,一个程序中对多只能有16个MSComm控件。这点是需要注意的。MSComm控件的属性较多,但是常用的并且与本文设计有关的几个重要属性如表1所示。利用MSComm控件进行串口通信的一般步骤为:(1)设置通信对象、通信端口以及其它属性;(2)设定通信协议;(3)打开通信端口,进行数据的传送;(4)关闭通信端口。 2线程同步技术及应用实例 2.1线程同步技术简介 内存调动程序开始运行之后其身份即变为Windows系统中的一个进程,每个进程需要占据高达4G的独立的一个内存空间,各个内存空间之间无法越界存取,以免造成保护性错误被通知非法操作。一个进程的执行效率较低,因此通常分为几个线程开展执行。蓝牙从一定方面来说,是一种近距离数据通讯技术,采用无线的传输形式,然而和红外通讯技术点对点的传输方式相比,蓝牙可以在10米的距离之内实现一点对多点的声音与数据传输,它的传输带宽能够达到1Mbps。目前,这一技术在进行无线通讯时是免费的,可以大大简化笔记本电脑及手机等终端设备与互联网之间的

文档评论(0)

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

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

1亿VIP精品文档

相关文档