Public Class Form1
Dim CancelFlag
Public mLoadOption As String ' Default or Recommended values
Public Connected As Boolean ' State of the CD line
Private RecFlag As Boolean ' Whether a file is to be received
Public Modem As Boolean 'Modem or serial cable
Private iReceiveFilenum As Short 'Freefile value for receiving files
Private iSendFilenum As Short 'Freefile value for sending files
Private Sub MSComm1_OnComm(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MSComm1.OnComm
Dim ErrMsg As Object
Dim InBuff As String
Select Case MSComm1.CommEvent
' Handle each event or error by placing
' code below each case statement
' Errors
Case MSCommLib.CommEventConstants.comEventBreak ' A Break was received.
ErrMsg = "Break"
' These next three timeout values are no longer detected in Win32
Case MSCommLib.CommEventConstants.comEventCDTO ' CD (RLSD) Timeout.
Case MSCommLib.CommEventConstants.comEventCTSTO ' CTS Timeout.
Case MSCommLib.CommEventConstants.comEventDSRTO ' DSR Timeout.
Case MSCommLib.CommEventConstants.comEventFrame ' Framing Error
ErrMsg = "Framing"
Case MSCommLib.CommEventConstants.comEventOverrun ' Data Lost.
ErrMsg = "Overrun"
Case MSCommLib.CommEventConstants.comEventRxOver ' Receive buffer overflow.
ErrMsg = "OverFlow"
Case MSCommLib.CommEventConstants.comEventRxParity ' Parity Error.
ErrMsg = "Parity"
Case MSCommLib.CommEventConstants.comEventTxFull ' Transmit buffer full.
ErrMsg = "TX Full"
Case MSCommLib.CommEventConstants.comEventDCB ' Unexpected error retrieving DCB]
ErrMsg = "DBC"
' Events
Case MSCommLib.OnCommConstants.comEvCD ' Change in the CD line.
If MSComm1.CDHolding = True Then
Connected = True
Else
Connected = False
End If
Case MSCommLib.OnCommConstants.comEvCTS ' Change in the CTS line.
Case MSCommLib.OnCommConstants.comEvDSR ' Change in the DSR line.
ErrMsg = "comEvDSR"
Case MSCommLib.OnCommConstants.comEvRing ' Change in the Ring Indicator.
Case MSCommLib.OnCommConstants.comEvReceive ' Received RThreshold # of chars.
' InBuff = MSComm1.Input
'Call ScanCom(InBuff)
InBuff = MSComm1.Input
Call HandleInput(InBuff)
Case MSCommLib.OnCommConstants.comEvSend ' There are SThreshold number of
' characters in the transmit buffer.
Do While MSComm1.OutBufferCount > 0
System.Windows.Forms.Application.DoEvents()
Loop
Case MSCommLib.OnCommConstants.comEvEOF ' An EOF character was found in ' the input stream
End Select
End Sub
Sub HandleInput(ByVal InBuff As String)
' This is where you will process your input. This
' includes trapping characters, parsing strings,
' separating data fields, etc. For this case, you
' are simply going to display the data in the TextBox.
Text1.SelectionStart = Len(Text1.Text)
Text1.Text = InBuff
End Sub
Private Sub open_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdopen.Click
If MSComm1.PortOpen = False Then
MSComm1.CommPort = 4
MSComm1.Settings = "9600,N,8,1"
MSComm1.RThreshold = 1
MSComm1.InputLen = 0
MSComm1.PortOpen = True
MSComm1.Output = "ATV1Q0" & vbCrLf
MSComm1.Output = "ATSO=2" & vbCrLf
MSComm1.Output = "ATA" ' set modem to Auto Answer
Else
MsgBox("Port is already open" & MSComm1.CommPort & "Port", vbCritical, "Serial Data Logger")
End If
End Sub
End Class