计算机毕业论文|计算机论文|计算机毕业设计|计算机网络论文  
设为首页 加入收藏 联系站长
论文无忧网|专业的计算机论文、计算机毕业论文服务网站
计算机毕业设计 计算机毕业论文 计算机论文 管理系统 工资 在线选课 图书
当前位置:计算机毕业论文网 >> VC论文设计 >> 浏览文章
基于VC++的串口通信服务的开发

【说明】本站所列作品的内容只是论文的部分介绍,如果想了解此作品的详细资料,请联系在线客服。
全套设计作品包括系统+源程序+论文+开题报告+使用手册,可以直接作为毕业设计/论文使用.
本站作品全部经过技术员测试,完整无错,大家可以放心参考使用。包调试,包指导,售后全部免费,直到您通过答辩为止。
现成作品的购买流程请参照:购买现成作品流程 网站介绍 常见问题解答

基于VC++的串口通信服务的开发

 

随着计算机技术的发展和推广,利用串口进行数据通讯在通讯领域中占有着重要的地位。为了方便和快速的通过Internet网络访问串口服务器的串口,本课题把串口通信集成到Windows服务,由Windows服务完成串口通信的基本操作。文中详细描述了串口通信服务的原理和工作流程,还列举出了相关的核心代码。用流程图的方式来描述了各个模块的逻辑实现。串口通信服务中采用安全队列的机制来控制多线程访问多串口。在开发中按照软件工程的流程,从需求分析到概要设计,从详细设计到编码,以及最后的测试,利用软件工程的工具管理开发代码和文档。此外,还开发出了客户端来测试该服务工作是否正常。经过测试服务工作正常,能通过网络连接到服务器完成串口的通信。最后总结了开发和设计的不足之处,程序还有待进一步完善。

 

关键词串口通信;Windows服务;安全队列;多线程目  录


1 引言 1
1.1 课题背景 1
1.2 研究现状 1
1.3 研究的意义 1
2 相关理论基础 1
2.1 WINDOWS NT 服务 1
2.2 串口通信 2
2.3 多线程及线程间通信 3
2.4 安全队列 4
2.5 WINDOWS套接字规范 4
2.6 客户机服务器系统 5
3 需求分析及设计方案 6
3.1 功能需求 6
3.2 设计方案 7
4 具体设计流程与实现 8
4.1 安全队列 8
4.2 服务应用程序 10
4.3 串口通信 16
4.4 客户端 18
4.5 类图 19
5 调试与分析 19
结    论 20
参考文献 20
致    谢 21
声    明 22

1.1       课题背景

计算机与外界的信息交换称为通信。基本的通信方式有并行通信和串行通信两种。串行通信是指一条信息额各位数据被逐位按顺序传送的通信方式。串行通信的特点是:数据位传送,按位顺序进行,最少只需要一根传输线即可完成,成本低但传送速度慢。串行通信的距离可以从几米到几千米。

1.2       研究现状

串口通讯目前流行的方法大概有三种:一是利用Microsoft提供的CMSCOMM控件进行通讯,不过现在很多程序员都觉应该放弃这种方式。二是利用WINAPI函数进行编程,这种编程的难度高,要求掌握很多的API函数。三是利用现在网络上面提供的一些串口通讯控件进行编写。这三种方法都没有同Windows服务联系起来。

1.3       研究的意义

利用串口进行数据通讯在通讯领域中占有着重要的地位,串口通讯在通讯软件中有着十分广泛的应用。如电话、传真、视频和各种控制等。通过本文的研究和开发能更加方便的通过网络通信来实现串口通信,提高串口的利用率。为进一步的研究提供参考。

2         相关理论基础

2.1       Windows NT 服务

有那么一类应用程序,是能够为各种用户(包括本地用户和远程用户)所用的,拥有用户授权级进行管理的能力,并且不论用户是否物理的与正在运行该应用程序的计算机相连都能正常执行,这就是所谓的服务了。每个操作系统都需要有在后台执行任务的方法,无论是谁正在使用这部机器,这些任务都可以继续运行,后台任务可以处理各种重要的服务,包括系统的或者用户的。

Windows NT中,后台的任务被称为服务。服务可在每次NT启动的时候运行,并且不管是谁登陆,都会一直运行下去。服务是一类受到操作系统优待的程序。一个服务首先是一个Win32可执行程序,通常以控制台程序的形式被编写,进入点函数是Main()而不是WinMain()

一个Windows NT服务由三部分组成,第一部分是Service Control Manager(SCM)。每个Windows NT/2000系统都有一个SCMSCM存在于Service.exe中,在Windows启动的时候会自动运行,伴随着操作系统的启动和关闭而产生和终止。这个进程以系统特权运行,并且提供一个统一的、安全的手段去控制服务。它其实是一个RPC Server,因此我们可以远程安装和管理服务,不过这不在本文讨论的范围之内。SCM包含一个储存着已安装的服务和驱动程序的信息的数据库,通过SCM可以统一的、安全的管理这些信息,因此一个服务程序的安装过程就是将自身的信息写入这个数据库。第二部分就是服务本身。一个服务拥有能从SCM收到信号和命令所必需的特殊代码,并且能够在处理后将它的状态回传给SCM。第三部分也就是最后一部分,是一个服务控制管理器(Service Control DispatcherSCP)。它是一个拥有用户界面,允许用户开始、停止、暂停、继续,并且控制一个或多个安装在计算机上服务的Win32应用程序。SCP的作用是与SCM通讯,Windows 2000管理工具中的“服务”就是一个典型的SCP

2.2       串口通信

串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常用的串口是 RS-232-C 接口(又称 EIA RS-232-C)它是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个 25 脚的 DB25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。传输距离在码元畸变小于 4% 的情况下,传输电缆长度应为 50 英尺

典型地,串口用于ASCII码字符的传输。通信使用3根线完成:地线,发送线,接收线。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其它线则用于硬件握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配:

波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为144002880036600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。

数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是578位。如何设置取决于你想传送的信息。比如,标准的ASCII码是01277位)。扩展的ASCII码是02558位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。

停止位:用于表示单个包的最后一位。典型的值为11.52位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。

 



上一篇: 基于VC的五子棋游戏软件的设计与开发
下一篇: 基于ICMP模拟网络控制软件开发——接收处理模块
在线客服  
点击这里给我发消息 点击这里给我发消息
点击这里给我发消息 点击这里给我发消息
QQ:528311109 QQ:528311109
  服务邮箱:Service@paper51.com
热门浏览
论文降价了,2010年毕业的同学你
计算机毕业论文无忧网-公告
计算机毕业论文-论文无忧网至同学
5年信誉服务保证-计算机毕业论文
购买现成作品流程
计算机毕业论文答辩过程中需要注
付款方式
网站介绍
计算机毕业论文答辩前的准备
常见问题
最近更新  
论文降价了,2010年毕业的同学你
计算机毕业论文无忧网-公告
计算机毕业论文-论文无忧网至同学
5年信誉服务保证-计算机毕业论文
购买现成作品流程
计算机毕业论文答辩过程中需要注
付款方式
网站介绍
计算机毕业论文答辩前的准备
常见问题
设为首页 | 加入收藏 | 关于本站 | 联系站长 | 友情链接 | 版权申明 | 在线留言 | 网站地图
Copyright 2006-2008 Powered by Paper51.com,论文无忧网 All Rights Reserved.
声明:《论文无忧网》,根据《信息网络传播权保护条例》,如果我们网站上的的作品侵犯了您的权利,请及时通知我们,我们会及时删除。
《论文无忧网》为您提供优秀的计算机毕业设计|计算机毕业论文|计算机论文|毕业论文等资料,仅供学习参考使用。