Mscomm

baddy
08-31-2000, 08:52 PM
I am having some problem with receiving data for a serial port. There is either no data displayed or strange ascii will appear. Can anyone tell me what changes I should make to this code?

'configure the com port settings
' SerialCom.CommPort = 2
SerialCom.Settings = "9600,N,8,1"
SerialCom.RThreshold = 0
SerialCom.RTSEnable = True

'open the com port
On Error Resume Next
SerialCom.PortOpen = True

'check if port available
If Err Then
MsgBox "COM" & SerialCom.CommPort & "is not available"
Exit Sub
End If
Select Case SerialCom.CommEvent
Case comEvReceive
Do While SerialCom.InBufferCount
inputText.Text = inputText.Text & SerialCom.Input
Loop
End Select
SerialCom.PortOpen = False

BillSoo
09-01-2000, 12:44 PM
A couple of things:
First, you want to set RThreshold > 0 if you want to detect the comEVReceive event

Second, you want to put the detection code inside the oncomm event.

Here's a quick rewrite of your code. I assumed that you open the port in the form load event and close it in the form unload event.

Private Sub Form_Load()
'configure the com port settings
' SerialCom.CommPort = 2
SerialCom.Settings = "9600,N,8,1"
SerialCom.RThreshold = 1
SerialCom.RTSEnable = True

'open the com port
On Error Resume Next
SerialCom.PortOpen = True

'check if port available
If Err Then MsgBox "COM" & SerialCom.CommPort & "is not available"

End Sub

Private Sub Form_Unload(Cancel As Integer)
If SerialCom.PortOpen Then SerialCom.PortOpen = False
End Sub

Private Sub SerialCom_OnComm()
Select Case SerialCom.CommEvent
Case comEvReceive
Do While SerialCom.InBufferCount
InputText.Text = InputText.Text & SerialCom.Input
Loop
End Select

End Sub

"I have a plan so cunning you could put a tail on it and call it a weasel!" - Edmund Blackadder

baddy
09-03-2000, 10:03 PM
Thanz !! :)
ur method works !!!

EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum