⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rs232_vb.frm

📁 单片机应用源码,包括各种简单操作
💻 FRM
字号:
VERSION 5.00
Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX"
Begin VB.Form RS232_VB 
   Caption         =   "RS232_VB"
   ClientHeight    =   3780
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   6750
   LinkTopic       =   "Form1"
   ScaleHeight     =   3780
   ScaleWidth      =   6750
   StartUpPosition =   3  'Windows Default
   Begin VB.CommandButton Button_RECV_C 
      Caption         =   "清空接收文本框"
      Height          =   495
      Left            =   2520
      TabIndex        =   6
      Top             =   2760
      Width           =   1455
   End
   Begin VB.CommandButton Button_SEND_C 
      Caption         =   "清空发送文本框"
      Height          =   495
      Left            =   3960
      TabIndex        =   5
      Top             =   1080
      Width           =   1455
   End
   Begin VB.CommandButton Button_SEND 
      Caption         =   "发送数据"
      Height          =   495
      Left            =   1080
      TabIndex        =   4
      Top             =   1080
      Width           =   1455
   End
   Begin VB.TextBox Text_RECV 
      Height          =   375
      Left            =   1920
      TabIndex        =   3
      Text            =   "Text1"
      Top             =   2040
      Width           =   4335
   End
   Begin VB.TextBox Text_SEND 
      Height          =   375
      Left            =   1920
      TabIndex        =   2
      Text            =   "Text1"
      Top             =   360
      Width           =   4335
   End
   Begin MSCommLib.MSComm MSComm 
      Left            =   240
      Top             =   1080
      _ExtentX        =   1005
      _ExtentY        =   1005
      _Version        =   393216
      CommPort        =   2
      DTREnable       =   -1  'True
   End
   Begin VB.Label Label2 
      Caption         =   "接收数据"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   13.5
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   360
      TabIndex        =   1
      Top             =   2040
      Width           =   1215
   End
   Begin VB.Label Label1 
      Caption         =   "发送数据"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   13.5
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   360
      TabIndex        =   0
      Top             =   360
      Width           =   1215
   End
End
Attribute VB_Name = "RS232_VB"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

'清空接收文本框
Private Sub Button_RECV_C_Click()
    
    Text_RECV.Text = "" '清空接收文本框
    Text_SEND.SetFocus

End Sub

'清空发送文本框
Private Sub Button_SEND_C_Click()
    
    Text_SEND.Text = "" '清空发送文本框
    Text_SEND.SetFocus

End Sub

'发送数据
Private Sub Button_SEND_Click()
   
    Dim x As String
    
    If Text_SEND.Text = "" Then '发送数据不能为空
        x = MsgBox("发送数据不能为空", 16)
        Exit Sub
    End If
    If Not MSComm.PortOpen Then '保证串口打开
        MSComm.PortOpen = True
    End If
    
    MSComm.Output = Text_SEND.Text + Chr$(13) '发送数据
    
    For i = 1 To 20000000 '延时
    Next
 
End Sub

'初始化代码
Private Sub Form_Load()
    
    MSComm.CommPort = 2 '设置串口2
    MSComm.Settings = "9600,N,8,1" '波特率9600bps, 无校验,8位数据,1位停止位
    MSComm.InputLen = 0 '读取接收缓冲区的所有字符
    MSComm.InBufferSize = 1024 '设置接收缓冲区为1024字节
    MSComm.OutBufferSize = 512 '设置发送缓冲区为512字节
    MSComm.PortOpen = True '打开串口
    MSComm.SThreshold = 0 '不触发发送事件
    MSComm.RThreshold = 1 '每一个字符到接收缓冲区都触发接收事件
    MSComm.InBufferCount = 0 '清除发送缓冲区数据
    MSComm.OutBufferCount = 0 '清除接收缓冲区数据
    
    Text_SEND.Text = "" '清空发送文本框
    Text_RECV.Text = "" '清空接收文本框

End Sub

'接收数据
Private Sub MSComm_OnComm()

    Select Case MSComm.CommEvent '检验串口事件
        
        '错误处理
        Case comEventOverrun '数据丢失
            Text_SEND.Text = "" '清空发送缓冲区
            Text_RECV.Text = "" '清空接收缓冲区
            Text_SEND.SetFocus
            Exit Sub
        Case comEventRxOver '接收缓冲区溢出
            Text_SEND.Text = "" '清空发送缓冲区
            Text_RECV.Text = "" '清空接收缓冲区
            Text_SEND.SetFocus
            Exit Sub
        Case comEventTxFull '发送缓冲区已满
            Text_SEND.Text = "" '清空发送缓冲区
            Text_RECV.Text = "" '清空接收缓冲区
            Text_SEND.SetFocus
            Exit Sub
        
        '事件处理
        Case comEvReceive '接收缓冲区内有数据
            Dim str As String
            str = MSComm.Input '从接收队列中读入字符串
            Text_RECV.Text = Text_RECV.Textstr '读出字符串送显
        
        End Select

End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -