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

📄 串行通信_数据传输_接收端f.frm

📁 VB做的串口通讯的例子
💻 FRM
字号:
VERSION 5.00
Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX"
Begin VB.Form Form1 
   Appearance      =   0  'Flat
   BackColor       =   &H80000005&
   Caption         =   "数据传输"
   ClientHeight    =   3195
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   3630
   LinkTopic       =   "Form1"
   ScaleHeight     =   3195
   ScaleWidth      =   3630
   StartUpPosition =   3  '窗口缺省
   Begin VB.CommandButton Command2 
      Caption         =   "结    束"
      Height          =   375
      Left            =   960
      TabIndex        =   3
      Top             =   2640
      Width           =   1815
   End
   Begin VB.CommandButton Command1 
      Caption         =   "接    收"
      Height          =   375
      Left            =   960
      TabIndex        =   2
      Top             =   1800
      Width           =   1815
   End
   Begin VB.TextBox Text1 
      Appearance      =   0  'Flat
      Height          =   975
      Left            =   120
      TabIndex        =   1
      Text            =   "Text1"
      Top             =   600
      Width           =   3375
   End
   Begin MSCommLib.MSComm MSComm1 
      Left            =   1680
      Top             =   2160
      _ExtentX        =   1005
      _ExtentY        =   1005
      _Version        =   393216
      CommPort        =   2
      DTREnable       =   -1  'True
      RTSEnable       =   -1  'True
   End
   Begin VB.Label Label1 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "接收数据区"
      ForeColor       =   &H80000008&
      Height          =   255
      Left            =   840
      TabIndex        =   0
      Top             =   120
      Width           =   1815
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'接收数据
'在代码中凡以****作为注释的,在以后的实时通信工程中必须删除
Option Explicit
Dim strOut() As Byte


Private Sub Form_Load()
    
    
    
    MSComm1.CommPort = 2        '使用Com2作为通信端口
    MSComm1.PortOpen = True     '打开通信端口
    MSComm1.InputMode = comInputModeBinary
    MSComm1.Settings = "9600,n,8,1"
     MSComm1.InputLen = 0
    MSComm1.RThreshold = 16
    DoEvents
    
    

End Sub

Private Sub Command1_Click()
   Dim strOut() As Byte
    MSComm1.InputLen = 0        'InputLen确定读取的字符数,为0则指全部
    MSComm1.RThreshold = 1

'没有连线时,缓冲区中没有数据。如果有连线,输入缓冲区将从端口取得数据
    strOut = MSComm1.Input      '读缓冲区中的数据
'在真正应用串口通信时下面的这一条语句是不用的
 '   strOut = GetSetting("TestMSComm", "SEC1", "Key1")   '****
    Text1.Text = strOut
End Sub

Private Sub Command2_Click()
    MSComm1.PortOpen = False    '关闭通信端口
    Unload Me
End Sub

'Private Sub MSComm_OnComm()
'   Select Case MSComm1.CommEvent
'   ' Handle each event or error by placing
'   ' code below each case statement
'
'' 错误
'      Case comEventBreak   ' 收到 Break。
'      Case comEventCDTO   ' CD (RLSD) 超时。
'      Case comEventCTSTO   ' CTS Timeout。
'      Case comEventDSRTO   ' DSR Timeout。
'      Case comEventFrame   ' Framing Error
'      Case comEventOverrun   '数据丢失。
'      Case comEventRxOver '接收缓冲区溢出。
'      Case comEventRxParity ' Parity 错误。
'      Case comEventTxFull   '传输缓冲区已满。
'      Case comEventDCB   '获取 DCB] 时意外错误
'
'   ' 事件
'      Case comEvCD   ' CD 线状态变化。
'      Case comEvCTS   ' CTS 线状态变化。
'      Case comEvDSR   ' DSR 线状态变化。
'      Case comEvRing   ' Ring Indicator 变化。
'      Case comEvReceive   ' 收到 RThreshold # of chars.
'      Case comEvSend   ' 传输缓冲区有 Sthreshold 个字符                     '
'                     '
'      Case comEvEOF   ' 输入数据流中发现 EOF 字符
'                     '
'   End Select
'End Sub
'

Private Sub MSComm1_OnComm()
     Debug.Print MSComm1.InBufferCount
     Dim aaa(100) As Byte
    strOut = MSComm1.Input
    Debug.Print "output=", strOut
     Text1.Text = strOut(0)
     Dim i As Integer
     
     For i = 0 To 99
        Debug.Print strOut(i)
     Next i
     If strOut(0) = 68 Then
     MsgBox "ksfdka"
     End If
     
     
End Sub

⌨️ 快捷键说明

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