毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
基于ATM-885 OEM水声通信模块水声通信软件设计(5)
2.2 目前常用串口通信方式
在控制领域的研发中,PC 机与外围控制设备的通讯方式有多种,如串行通信口、并行通信口、一台网口(需要网卡支持)、USB 通信口或自制危机接口卡。而串口通信则是在数据通信速率部是很高的情况下,开发者所采用的最常见、最简单、最通用的通信方式。并且考虑到现在的PC 机标准配置都具备两个串口,因此利用串口资源来开发PC 机与外围控制设备之间的通信应该是最方便快捷的[18]。在目前常用的各种开发环境(如VB、VC 和Delphi 等)下实现串口通信的方式有很多种:
首先,最简便的方法是采用Microsofe 公司提供的ActiveX 控件实现串口通信,即MSComm 控件。实现串口通信的编程方法原理上比较简单,容易实现,但编程的灵活性稍差,且应用程序运行时必须同时拷入与通信控件相关的文件。
其次,使用Win32 的API 函数实现串口通信亦是很好的方法。利用 API 函数实现串口通信的编程方法功能强大 ,灵活性好 ,但原理上比较复杂 ,需要编程人员对串口的硬件工作原理有较深入的了解。
最后,可以利用VC运行时,库的标准通信函数实现串口通信。其编程原理简单,但其使用性和灵活性较差[19]。总之,各种串口通信的实现方式在使用条件、灵活性和复杂程度等方面各有优缺点,分别适合于各自不同的应用场合。而本文介绍一个结合了Win32 的API 函数和C++类的基本思想封装了一个串行通信类CSerialPort 类,通过一个实例介绍,我们发现这个自定义的串口通信类能够使得串口通信的实现更加灵活、方便。
2.2.1 利用OCX控件实现串口通信
在VC ++ 中利用OCX控件实现串口通信和VB 中实现串口通信的方法类似,在编程上相对比较简单,一般步骤如下:
1) 创建串口通信资源并配置串口
在VC 中利用OCX控件实现串口通信首先需要创建串口通信资源并在串口通信资源的属性(Properties) 一项中配置串口,串口通信的波特率、数据位数、停止位数、奇偶校验、发送缓冲区大小、接受缓冲区大小以及超时设置等均在此时进行配置。
2) 打开串口
在串口资源已创建并配置好后, 即可用SetPortOpen(TRUE) 函数将该串口打开,打开串口的常用程序如下:
CCMSCommCtrl m—commctrl ;
if ( !m—commctrl . GetPortOpen () )
m—commctrl . SetPortOpen (TRUE) ;else
MessageBox(″该串口不可用″) ;
3) 数据读写
利用OCX控件实现串口读写操作可采用查询或事件驱动方式进行, 如采用查询方式读取串口可先用GetInBufferCount ( ) 函数检查串口已接收的字节数, 然后用GetInput () 函数即可读取这些已接收的字节;利用OCX控件实现串口写操作时首先要将待发送的数据由ASCII 型字符串转换成UNICODE 型,然后用SetOutput 函数将数据从串口发送出去。如采用事件驱动方式读写串口,首先需设置接收或发送事件的触发条件,然后在串口事件响应函数中用GetInput 和SetOutput 函数进行相应的读写操作。
4) 关闭串口
利用OCX控件实现串口通信时关闭串口非常简单,只需将打开串口函数的参数由TRUE 改为FALSE 即可:m_commctrl . SetPortOpen (FALSE) ;
2.2.2利用API 函数实现串口通信
在32 位Windows 中可以使用Win32 通信API 函数实现对RS232 串行通信口的访问,Windows 95 和Windows 98 中对串口的打开、读取、写入和关闭所用的函数和对文件进行打开、读取、写入和关闭所用的函数相同, 以下对串口的操作在Windows 95 和Windows 98 中均可使用。
1) 打开串口
Win32 中用于打开串口的API 函数为CreateFile ,其原型为:
CreateFile ( szDevice , fdwAccess , fdwShareMode , lpsa , fdwCreate ,fdwAttrsAndFlags , hTemplateFile) ;
共6页:
上一页
1
2
3
4
5
6
下一页
上一篇:
STC89C52RC单片机的射频卡读写器开发
下一篇:
MATLAB切换时滞系统控制器的设计和仿真
基于Kinect手势识别的遥操...
基于51单片机自动门智能控制系统设计
基于TI-DSP平台的电力电子测控平台设计
基于传感器网络的分布式集员滤波问题的研究
基于飞思卡尔芯片LED色彩控制器的设计
基于磁共振技术的家用无...
基于simulink的三相桥式全控...
《醉青春》导演作品阐述
多元化刑事简易程序构建探讨【9365字】
浅谈传统人文精神茬大學...
谷度酒庄消费者回访调查问卷表
高校网球场馆运营管理初探【1805字】
国内外无刷直流电动机研究现状
中国古代秘书擅权的发展和恶变
浅谈新形势下妇产科护理...
辩护律师的作证义务和保...
拉力采集上位机软件开发任务书