关于串口通信 本人初次接触串口通信的东西 解释下每一行.小弟我没学过

关于串口通信 本人初次接触串口通信的东西 解释下每一行.我没学过
本帖最后由 bcrun 于 2013-04-28 15:15:43 编辑
Option Explicit
'==================================================================================
'公共事件
'==================================================================================
Public Event OnAddPoint(vChNum As Integer, vChData() As Long, vTrainCode As String)
Public Event OnCFGValue(vParam As String)
Public Event OnErrFrm()
Public Event OnOverFlow()

'==================================================================================
'属性本地变量
'==================================================================================
Private DevOpen As Boolean
Private WithEvents m_Process As CProcess

'==================================================================================
'本地变量
'==================================================================================
Private BinDataBuf As Variant '读取数据缓存

Private Sub com_Ctrl_Click()
    Dim portNum As Integer
    
    portNum = Mid(Combo_ComNum.Text, 4)
    
    On Error GoTo ErrorHandler
    
    If MSComm1.PortOpen = False Then
        Call commOpen
    Else
        Call commClose
    End If
    
    Exit Sub
    
ErrorHandler:
    Select Case Err.Number
        Case 8005
            MsgBox ("串口" & portNum & "已打开!")
        Case 8002
            MsgBox ("无效串口号!")
        Case Else
            MsgBox (Err.Description)
    End Select
    
    Exit Sub

End Sub
Public Function Send(SendStr As String) As Boolean

    If MSComm1.PortOpen = True Then
        MSComm1.Output = SendStr
        Send = True
    Else
        MsgBox ("请打开接收端口")
        Send = False
    End If
End Function
Public Function RcvData() As Boolean
    
    If MSComm1.PortOpen = True Then
        If MSComm1.InputMode = comInputModeBinary Then
            If MSComm1.InBufferCount <> 0 Then
                BinDataBuf = BinDataBuf & MSComm1.Input
                m_Process.ReadDataPack BinDataBuf