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

📄 comm.frm

📁 串口通信程序,可以直接执行使用,带有界面容易操作
💻 FRM
字号:
VERSION 5.00
Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX"
Begin VB.Form Form1 
   Caption         =   "串口通信"
   ClientHeight    =   5970
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   9195
   LinkTopic       =   "Form1"
   ScaleHeight     =   5970
   ScaleWidth      =   9195
   StartUpPosition =   3  '窗口缺省
   Begin VB.CommandButton Command4 
      Caption         =   "文件保存"
      Height          =   495
      Left            =   7680
      TabIndex        =   5
      Top             =   2760
      Width           =   1095
   End
   Begin VB.CommandButton Command3 
      Caption         =   "画图"
      Height          =   495
      Left            =   7680
      TabIndex        =   4
      Top             =   1920
      Width           =   1215
   End
   Begin VB.PictureBox Picture1 
      Height          =   3015
      Left            =   240
      ScaleHeight     =   2955
      ScaleWidth      =   6555
      TabIndex        =   3
      Top             =   2760
      Width           =   6615
   End
   Begin VB.CommandButton Command2 
      Caption         =   "关闭"
      Height          =   495
      Left            =   7680
      TabIndex        =   2
      Top             =   3600
      Width           =   1095
   End
   Begin VB.CommandButton Command1 
      Caption         =   "开始"
      Height          =   495
      Left            =   7680
      TabIndex        =   1
      Top             =   1080
      Width           =   1095
   End
   Begin VB.TextBox Text1 
      Height          =   2535
      Left            =   120
      TabIndex        =   0
      Top             =   120
      Width           =   6735
   End
   Begin MSCommLib.MSComm MSComm1 
      Left            =   2160
      Top             =   1920
      _ExtentX        =   1005
      _ExtentY        =   1005
      _Version        =   393216
      DTREnable       =   -1  'True
      RThreshold      =   1
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim Datalength As Integer '数据长度
Dim Flag As Integer '标志
Dim Data() As Single '存放数据
Dim Datanum As Integer '数据编号


Private Sub Command1_Click()
'Dim number As Integer '定义要发送的数据
'Dim outbyte(0) As Byte '定义发送字节数组
'number = Val(Text1.Text) '类型转换
'outbyte(0) = CByte(number) '转换为二进制
'MSComm1.OutBufferCount = 0 '清空发送缓冲区
'MSComm1.Output = outbyte '发送数据
If MSComm1.PortOpen = False Then
MSComm1.CommPort = 1 '使用com1口
MSComm1.Settings = "9600,N,8,1"
'设置初始化参数
MSComm1.PortOpen = True '打开串口
MSComm1.RThreshold = 1 '有1个字符时触发
MSComm1.InputMode = 1 '二进制形式数据
End If
'初始化变量
 Flag = 0
 Datalength = 0
 Datanum = 1
End Sub

Private Sub Command2_Click()
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False
End If
Unload Form1
End Sub

Private Sub Command3_Click()
dx = 100 '画图的初始坐标
dy = 200
sx = 100 '画图的比例
sy = 100
If (Datanum < Datalength) Then
MsgBox "文件没有接受完毕"
Else
   For i = 1 To datalegth - 1
    Picture1.Line (dx + i * sx, dy - Data(i) * sy)-(dx + (i + 1) * sx, dy - Data(i + 1) * sy)
   Next
Picture1.Refresh
End If

End Sub

Private Sub Command4_Click()
If (Datanum < Datalength) Then
   MsgBox "文件没有接受完毕"
Else
   Open "data1.dat" For Output As #1
   For i = 1 To datalegth
      Print #1, Data(i)
   Next
   Close #1
End If
End Sub

Private Sub MSComm1_OnComm()
Dim indata As Variant '定义变体变量
Dim arr(0) As Byte '定义接收字节数组
Dim ll As Integer
Dim lr As String
Select Case MSComm1.CommEvent

   Case comEvReceive   '触发接收事件
        ll = MSComm1.InBufferCount '接受的数字的个数
        indata = MSComm1.Input '接收数据
        MSComm1.InBufferCount = 0 '清空接收缓冲区
        If Flag = 0 Then '得到文件长度
          arr(0) = AscB(indata) '类型转换
          lr = Chr(arr(0))
          Datalength = Val(Chr(arr(0))) '显示接收数据
          Flag = 1
        Else '得到文件数据
        ReDim Preserve Data(Datalength)
          If Datanum < Datalength Then '如果没有读完
            arr(0) = AscB(indata) '类型转换
            Data(Datanum) = Val(arr(0))
            Text1.Text = Text1.Text + Chr(arr(0)) '显示接收数据
            Datanum = Datanum + 1
          Else
           MsgBox "数据读取完毕"
          End If
        End If
End Select

End Sub

⌨️ 快捷键说明

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