- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用Visual Basic 5.0开发无线通讯数据采集应用程序_计算机论文
用Visual Basic 5.0开发无线通讯数据采集应用程序_计算机论文
摘要:本文通过对无线通讯系统基本工作原理的分析,阐明了采用Visual Basic 5.0中的控件MSCOMM.VBX进行无线数据采集程序开发的基本方法。并结合900M频率无线通讯电台的特点,给出了基本通讯接口源程序代码。
关键词: VB5 无线通讯 控件
1 引言
目前对于用于数据采集和传输的无线设备之间的通讯编程,一般仍采用C语言和汇编语言较多,这主要是由于在编程时,要涉及到对无线通讯设备硬件的控制,因此,选择C语言和汇编语言的较多。采用以上两种语言进行编程,对于一般的编程人员来讲,很难较快的掌握。本文采用可视化的编程环境从根本上解决了以上问题,只要有一定编程基础的技术人员,均可实现自己编程。
2 无线通讯设备的基本工作原理
在无线的通讯方式中,数据传输的基本原理可以认为是通过调制解调器进行工作的,而这种调制解调器是无线方式工作的,它不含有拨号功能,而且和它直接连接的是无线电台。无线电台的作用就相当于有线传输中的电话线,它是通过无线电波进行发送和接受信号的。而无线调制解调器的作用是将二进制的信号调制成可以在无线电台之间传输的无线电波。
信号转换过程的属性取决于调制解调器所接收到的源信号和目的信号。一般来说,调制解调器从终端或计算机接以串行方式收到二进制信号后,将它们转换成了音频信号。然后调制解调器将这些声音通过无线电台传输出去。在接受端,另一个兼容的调制解调器将这些声音信号转换成了二进制信号,并把这些二进制信号发送给终端或计算机。
由于在无线电台之间有过滤和放大作用,同时,无线电波的传输受很多因素影响,因此传送的速度受到限制。下面给出了一种900M电台的技术特性见表 1。本程序就是使用的这种电台,对于其它参数的电台,其基本原理也是一样的。
表 1 900M无线电台的技术指标
项目指标含义
传输速率1.2Kbps或2.4Kbps每秒的字节数
数据的控制透明传输
发射功率3W
接受灵敏度-105dBm
工作频率915—917MHZ
信道158个
3 无线数据采集的编程
由无线通讯的基本原理可以看出,无线的数据采集和传输主要包括以下几个过程,从带处理器的传感器或计算机终端发送二进制信号到无线调制解调器;无线电台之间建立连接并传输数据;从另外一端的电台接受二进制数据;将数据传输到计算机。因此,要建立无线设备之间的通讯必须在两端进行编程。
从计算机终端到无线电台的数据传输是通过计算机的串行口进行的,通过对串行口进行编程就可以实现向电台发送数据。在Visual Basic5.0中的控件MSCOMM是进行串口通讯的。通过设定控件MSCOMM的属性,可以用VB5.0对其进行灵活的编程,控件MSCOMM同时支持事件驱动及轮询方法。控件MSCOMM能生成一个名为OnComm的事件,它能能捕获的事件范围包括通过串口接受数据以及遇到任何错误等等。事件或错误的值以整数的形式保存在CommEvent属性里。可根据CommEvent属性判断最近一次事件或错误。也可以在程序中设置一个循环,每次循环都直接检查CommEvent属性的值,从而对事件及错误进行“轮询”。如果应用程序规模小,这种方法相当完美。
下面的部分程序代码是计算机和900M无线电台之间的传输程序,本程序已经在486计算机和PII586上调试通过。
1 从串口读入电台数据程序GetStringFromComm()
功能:(1) 主要完成从端口获得数据,将二进制的数据转换为ASCII码数据
Public Function GetStringFromComm() As String
定义变量(略)
If frmTerminal.MSComm1.InBufferCount 7 Then
GetStringFromComm =
Exit Function
End If
//读入标志码
frmTerminal.MSComm1.InputLen = 6
ReDim Preserve BinDataarr(6) As Byte
BinData = frmTerminal.MSComm1.Input
BinDataarr = BinData
UserDataLenth = BinDataarr(5) 用户数据的长度 Wait1:
If BinDataarr(5) gt frmTerminal.MSComm1.InBufferCount Then 未接受完数据
delay 6 延时6s
GoTo Wait1
End If
frmTerminal.MSComm1.InputLen = UserDataLenth
BinData = frm
文档评论(0)