VB电脑与单片机通迅好工具

    技术2025-02-12  14

    http://weibo.com/GTY55IW

     

     

    VB编写的串口数据通讯源码,单片机通讯就靠它了,想实现利用单片机串口短信发送程序,找VB 吧,上位机与下位机通迅程序,不找VB找谁!!

    VB串口常用的解释,先认识一下,对学VB 串口事半功倍!!

     

    Microsoft Comm Control 6.0中)。具体程序如下:控件简称:MSC

    Dim Out(12) As Byte   '接收var中的值

    Dim var As Variant   '接收MSC.input中的数值

    Dim nRece As Integer   '计算MSC.inputbuffer的个数

    Dim i As Integer, j As Integer  '随即变量,计算循环

    ****************************************************************************

    Private Sub Form_Load()

        ClearText

        With MSC

            .CommPort = 1  '设置Com1为通信端口

            .Settings = "9600,E,7,2"  '设置通信端口参数 9600赫兹、偶校验、7个数据位、1个停止位.(这里需要进一步说明的是:.Setting=”BBBB,P,D,S”。

    含义是:B:Baud Rate(波特率);P:Parity(奇偶);D:Data Bit;S:Stop Bit)

            .InBufferSize = 40  '设置缓冲区接收数据为40字节

            .InputLen = 1  '设置Input一次从接收缓冲读取字节数为1

            .RThreshold = 1  '设置接收一个字节就产生OnComm事件

        End With

    End Sub

    ****************************************************************************

    Private Sub ClearText()

        Text3.Text = ""

        Text2.Text = "5"

        Text1.Text = ""

    End Sub

     

    Private Sub Command1_Click()

        ClearText

    '    nRece = 0  '计数器清零

        With MSC

            .InputMode = comInputModeBinary '设置数据接收模式为二进制形式

            .InBufferCount = 0  '清除接收缓冲区

            If Not .PortOpen Then

                .PortOpen = True   '打开通信端口

            End If

        End With

    End Sub

    Private Sub MSC_OnComm()

        DelayTime   ‘用来延续时间

        ClearText

        With MSC

            Select Case .CommEvent  '判断通信事件

                Case comEvReceive:  '收到Rthreshold个字节产生的接收事件

                    SwichVar 1

                    If Out(1) = 2 Then  '判断是否为数据的开始标志

                        .RThreshold = 0   '关闭OnComm事件接收

                    End If

                    Do

                        DoEvents

                    Loop Until .InBufferCount >= 3  '循环等待接收缓冲区>=3个字节

    '                nRece = nRece + 1

                    For i = 2 To 12

                        SwichVar i

                        Text1.Text = Text1.Text & Chr(Out(i))

                    Next

                    Text1.Text = LTrim(Text1.Text)

                    Text2.Text = Text2.Text & CStr(nRece)

                    .RThreshold = 1  '打开MSComm事件接收

                Case Else

    '                .PortOpen = False

            End Select

        End With

    End Sub

    ****************************************************************************

    Private Sub DelayTime()

        Dim bDT As Boolean

        Dim sPrevious As Single, sLast As Single

       

        bDT = True

        sPrevious = Timer  (Timer可以计算从子夜到现在所经过的秒数,在Microsoft Windows中,Timer函数可以返回一秒的小数部分)

        Do While bDT

            If Timer - sPrevious >= 0.3 Then bDT = False

        Loop

        bDT = True 下面为学习串口通迅VB 程序设计的一个教程,下载的顶一下!!觉得好的话加我Q460933430多多交流

    地址:http://download.csdn.net/source/3016379

    最新回复(0)