用Visual Basic 5.0开发无线通讯数据采集应用程序
作者:佚名; 更新时间:2014-12-05

摘要:本文通过对无线通讯系统基本工作原理的分析,阐明了采用Visual Basic 5.0中的控件MSCOMM.VBX进行无线数据采集程序开发的基本方法。并结合900M频率无线通讯电台的特点,给出了基本通讯接口源程序代码。

在无线的通讯方式中,数据传输的基本原理可以认为是通过调制解调器进行工作的,而这种调制解调器是无线方式工作的,它不含有拨号功能,而且和它直接连接的是无线电台。无线电台的作用就相当于有线传输中的电话线,它是通过无线电波进行发送和接受信号的。而无线调制解调器的作用是将二进制的信号调制成可以在无线电台之间传输的无线电波。

信号转换过程的属性取决于调制解调器所接收到的源信号和目的信号。一般来说,调制解调器从终端或计算机接以串行方式收到二进制信号后,将它们转换成了音频信号。然后调制解调器将这些声音通过无线电台传输出去。在接受端,另一个兼容的调制解调器将这些声音信号转换成了二进制信号,并把这些二进制信号发送给终端或计算机。

项目

指标

含义

传输速率

每秒的字节数

数据的控制

透明传输

 

发射功率

3W

 

接受灵敏度

-105dBm

 

工作频率

915—917MHZ

 

信道

158

 

由无线通讯的基本原理可以看出,无线的数据采集和传输主要包括以下几个过程,从带处理器的传感器或计算机终端发送二进制信号到无线调制解调器;无线电台之间建立连接并传输数据;从另外一端的电台接受二进制数据;将数据传输到计算机。因此,要建立无线设备之间的通讯必须在两端进行编程。

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) > frmTerminal.MSComm1.InBufferCount Then   '未接受完数据

        delay 6 '延时6s

        GoTo Wait1

    End If

    frmTerminal.MSComm1.InputLen = UserDataLenth

    BinData = frmTerminal.MSComm1.Input

  ReDim Preserve BinDataarr(UserDataLenth)

    BinDataarr = BinData

   GetStringFromComm = BinTotext(UserDataLenth, 0)

  frmTerminal.MSComm1.InBufferCount = 0 '清空接受缓冲区

End Function

2 从串口向电台发送数据程序SendStringToComm()

Public Sub SendStringToComm(ByVal TransCommand As Integer, ByVal TransString As String)

ReDim BinDataarr(5)

frmTerminal.MSComm1.OutBufferCount = 0    '//清空发送缓冲区

'TransString = makestring(Val(mc.txtdesstation.Text), 4) + TransString

'//设置标志码

(略)

Select Case TransCommand

    Case 0:transmit text

        ReDim Preserve BinDataarr(6 + Len(TransString))

        TextTobin (TransString)

        BinData = BinDataarr

        frmTerminal.MSComm1.Output = BinData  '发送

    Case 1:transmit binary data

        ReDim Preserve BinDataArr(5 + Len(TransString) + UserDataLenth) As Byte

        TextTobin (TransString)

        BinDataArr(5) = UserDataLenth + Len(TransString)

        Dim i As Integer

       For i = 1 To UserDataLenth

        BinDataArr(5 + Len(TransString) + i) = userDataarr(i - 1)

       Next i

       BinData = BinDataArr

       MSComm1.Output = BinData

        End Select

       binDatalenth = 0

End Sub

参考文献

信捷职称论文写作发表网
    核心期刊快速发表
    Copyright@2000-2030 论文期刊网 Corporation All Rights Reserved.
    《中华人民共和国信息产业部》备案号:ICP备07016076号;《公安部》备案号:33010402003207
    本网站专业、正规提供职称论文发表和写作指导服务,并收录了海量免费论文和数百个经国家新闻出版总署审批过的具有国内统一CN刊号与国际标准ISSN刊号的合作期刊,供诸位正确选择和阅读参考,免费论文版权归原作者所有,谨防侵权。联系邮箱:256081@163.com