毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
基于VB.NET的辐射报警仪上位机管理软件设计(7)
将传送字符按照上述说明组合起来之后,就形成了传输时每个字符的数据格式,串行通信字符的数据格式如下所示:起始位+传送字符+校验位+停止位。
3.4 实现串行通信的方法
在Visual Studio.NET中编写串口通信程序,一般都使用Microsoft Communication Control(MSComm)的通信控件,只要通过对此控件的属性和事件进行相应编程操作,就可以轻松地实现串口通信。但在Microsoft.NET技术广泛应用的今天,Visual Studio.NET没有将此控件加入控件库,所以有三种方法在Visual Studio.NET中编写串口通信程序:第一种方法是通过采用原来的MSComm控件,这是最简单,最方便的方法,但需要注册(可以通过安装VB6.0或VC++6.0开实现);第二种方法是采用微软在.NET中推出的一个串口控件SerialPort,方便地实现所有需要串口通信的多种功能;第三种方法是用API函数进行串口通信,虽然难度高,但可以方便实现自己想要的各种功能。
MSComm是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,为应用程序提供了通过串行接口收发数据的简便方法。每个MSComm控件对应着一个串行端口,如果应用程序需要访问多个串行端口,必须使用多个MSComm控件。MSComm控件在串口编程时是非常方便,程序员不必花时间去了解较为复杂的API函数,而且在VB、VC++、C++Builder、Delphi等语言中均可使用。MSComm提供了两种处理通信问题的方式:事件驱动(Event-driven)方式和查询(Enquiry)方式。事件驱动通信是处理串行端口交互作用的一种非常有效的方法,在事件发生时通过发送系统消息通知相关对象。查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。在程序的每个关键功能之后,可以通过检查ConmEvent属性值来查询事件和错误。查询法适合于较小的应用程序,在这种情况下,每当应用程序执行完某一串行口操作后,将不断检查MSComm控件的CommEvent属性以检查执行结果或者检查某一事件是否发生。如果应用程序较小,并且是自保持的,这种通信方式更为可取。
Windows API (Application Programming Interface API)实际上就是Microsoft Windows 平台的应用程序编程接口,它为操作系统上运行的应用程序提供了各种服务,并且屏蔽了操作系统底层的细节,为硬件和上层应用程序提供了广泛的驱动和支持。针对串口通信,Windows API中也提供了一系列的库函数,可以直接调用这些API函数来进行串行通信端口的驱动。虽然串行通信端口属于硬件,但在Windows环境下是把这个系统资源当成文件来进行操作的,因此打开串行端口时,就必须像打开文件一样向系统申请资源,使用完串行端口之后,还必须使用关闭文件的函数将串行端口关闭,并释放所占用的系统资源。Windows API 是由操作系统所提供的函数,这些函数可以为程序设计人员提供相当多的执行功能,不管使用的是哪一种的快速开发工具,最后的一个阶段还是会调用到API,由API执行操作。使用API函数必须依从API函数的定义和应用,才能得到正确的结果,尤其参数的定义更是重要,一般的API使用的定义是C 语言的定义方式,使用时要注意的是定义相符,否则执行结果将会出错。利用API函数实现串行通信的编程方法功能强大,灵活性好,应用广泛,但程序设计上比较复杂,需要编程人员对串口的硬件工作原理有比较深入的了解。
此辐射报警仪上位机管理软件使用了第二种方法SerialPort控件来实现串口通信。
3.4.1 SerialPort类
.NET Framework 4.0类库提供了对串口通信功能的支持,使用其中的SerialPort类可以方便的实现所需要串口通信的多种功能。通过创建一个新的SerialPort对象,我们就可以在.NET程序中控制串口通信的全过程。根据系统具体功能需要,使用SerialPort类编写串口通信接口程序能够弥补MSComm组件的不足,赋予了串行通信程序设计较大的灵活性。
共19页:
上一页
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
下一页
上一篇:
双谱图像配准技术研究+powell算法
下一篇:
基于DSP的雷达恒虚警检测技术研究
认知无线电网络中基于双...
基于TCP/IP技术的转向架振动测试系统设计
基于PM2.5浓度的健康出行路径规划及实现
基于涡旋电磁波的新型雷达成像技术研究
基于相关滤波器的长期跟踪算法研究
基于ZigBee协议轨道交通环...
变分模态分解方法研究及...
国内外无刷直流电动机研究现状
多元化刑事简易程序构建探讨【9365字】
《醉青春》导演作品阐述
浅谈传统人文精神茬大學...
中国古代秘书擅权的发展和恶变
辩护律师的作证义务和保...
高校网球场馆运营管理初探【1805字】
谷度酒庄消费者回访调查问卷表
拉力采集上位机软件开发任务书
浅谈新形势下妇产科护理...