📄 form1.frm
字号:
VERSION 5.00
Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX"
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3090
ClientLeft = 60
ClientTop = 450
ClientWidth = 4680
LinkTopic = "Form1"
ScaleHeight = 3090
ScaleWidth = 4680
StartUpPosition = 3 '窗口缺省
Begin VB.CommandButton Hold_D
BackColor = &H00FF0000&
Caption = "不读数"
Height = 375
Left = 3480
MaskColor = &H80000002&
TabIndex = 7
Top = 1680
Width = 975
End
Begin VB.CommandButton CmdEXIT
Caption = "退出"
Height = 375
Left = 3480
TabIndex = 4
Top = 2280
Width = 975
End
Begin VB.CommandButton CmdCLR
Caption = "清空"
Height = 375
Left = 3480
TabIndex = 3
Top = 1080
Width = 975
End
Begin VB.TextBox TxtRECV
Height = 495
Left = 360
TabIndex = 2
Top = 1560
Width = 2655
End
Begin VB.CommandButton CmdSEND
Caption = "发送"
Height = 375
Left = 3480
TabIndex = 1
Top = 480
Width = 975
End
Begin MSCommLib.MSComm MSComm1
Left = 120
Top = 2400
_ExtentX = 1005
_ExtentY = 1005
_Version = 393216
DTREnable = -1 'True
End
Begin VB.TextBox TxtSEND
Height = 495
Left = 360
TabIndex = 0
Top = 480
Width = 2655
End
Begin VB.Label Label2
Caption = "接收区显示"
Height = 375
Left = 360
TabIndex = 6
Top = 1200
Width = 1215
End
Begin VB.Label Label1
Caption = "发送区显示"
Height = 255
Left = 360
TabIndex = 5
Top = 120
Width = 1455
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'程序描述:
' (1)把发送窗口中的数据从COM1发送出去
' (2)把接收到的数据显示在接收窗口中
'-------------------------------------------------------
Option Explicit '检查未经声明的变量
Dim Com_Flag As Integer '串口状态标志位Flag=0表示打开
Dim SendData() As Byte '发送数据数组
Dim RecvData() As Byte '接收数据数组
Private Sub CmdSEND_Click()
Dim i As Integer
If TxtSEND.Text = "" Then
TxtRECV.Text = ""
GoTo CmdSEND_Click_Exit
End If
ReDim SendData(Len(TxtSEND.Text) - 1)
For i = 0 To Len(TxtSEND.Text) - 1
SendData(i) = Asc(Mid$(TxtSEND.Text, i + 1, 1))
Next i
If MSComm1.PortOpen = False Then MSComm1.PortOpen = True
MSComm1.Output = SendData
If Com_Flag = 1 Then MSComm1.PortOpen = False
TxtSEND.Text = "" '清空发送区
CmdSEND_Click_Exit:
End Sub
Private Sub Form_Load()
'串行口初始化
Call SCIinit(MSComm1, 2, "9600,N,8,1")
'清空有关文本框
TxtSEND.Text = ""
TxtRECV.Text = ""
'开放串行中断
MSComm1.RThreshold = 1 '开放串行中断
Com_Flag = 0 '串口打开标志位
End Sub
Private Sub Hold_D_Click()
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False
Hold_D.Caption = "读数"
Com_Flag = 1
Else
MSComm1.PortOpen = True
Hold_D.Caption = "不读数"
MSComm1.InBufferCount = 0
Com_Flag = 0
End If
End Sub
Public Sub MSComm1_OnComm() '串行接收中断
Dim i As Integer
Dim Stemp As String
Static S1 As String
' Dim S1 As String
' Dim S2 As String
If Len(Trim(TxtRECV.Text)) = 0 Then S1 = ""
MSComm1.RThreshold = 0 '关闭串行中断
' TxtRECV.Text = ""
RecvData = MSComm1.Input
For i = LBound(RecvData) To UBound(RecvData)
If (RecvData(i) >= 127 Or RecvData(i) = 0) Then
Stemp = Chr$(1)
Else
Stemp = Trim(Chr$(RecvData(i)))
End If
S1 = S1 & Stemp 'Trim(Chr$(RecvData(i)))
' S1 = S1 & Hex$(RecvData(i)) ' & " "
' S2 = S2 & S1
Next i
TxtRECV.Text = S1
For i = LBound(RecvData) To UBound(RecvData)
If RecvData(i) = 13 Then S1 = ""
Next i
MSComm1.RThreshold = 1 '开放串行中断
End Sub
Private Sub CmdCLR_Click() '单击"清空"按钮
TxtSEND.Text = ""
TxtRECV.Text = ""
End Sub
Private Sub CmdEXIT_Click() '单击"退出"按钮
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
End
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -