📄 rs232_vb.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 + -