Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations wOOdy-Soft on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Reading Serial Port Data

Status
Not open for further replies.

Fletch12

IS-IT--Management
Aug 13, 2002
140
US
I'm trying to create a simple application to read data from the comm port. I can read data fine with Hyperterminal, although it shows as "169800991" in Hyperterminal (notice the strange beginning and ending characters). However, when I created a simple console application in vb.net I'm not getting anything. The port is open when I start the app, but I don't receive any data. Here is my code

Code:
Imports MSCommLib

Module Module1

    Sub Main()
        'New a MSComm control
        Dim MSComm1 As MSComm
        MSComm1 = New MSComm
        ' Buffer to hold input string.
        Dim Buffer As String
        ' Use the COM1 serial port.
        MSComm1.CommPort = 11
        ' 9600 baud, no parity, 8 data, and 1 stop bit.
        MSComm1.Settings = "9600,N,8,1"
        ' Tell the control to read the whole buffer when Input is used.
        MSComm1.InputLen = 0
        ' Open the serial port.
        MSComm1.PortOpen = True
        Console.WriteLine("Open the serial port.")
        ' Tell the control to make the Input property return text data.
        MSComm1.InputMode() = InputModeConstants.comInputModeText
        'Clear the receive buffer.
        MSComm1.InBufferCount() = 0
        ' Send the attention command to the modem.
        MSComm1.Output = "ATV1Q0" & Chr(13)
        Console.WriteLine("Send the attention command to the modem.")
        Console.WriteLine("Wait for the data to come back to the serial port...")
        ' Make sure that the modem responds with "OK".
        ' Wait for the data to come back to the serial port.
        Do
            Buffer = Buffer & MSComm1.Input
        Loop Until InStr(Buffer, "OK" & vbCrLf)
        ' Read the "OK" response data in the serial port.
        ' Close the serial port.
        Console.WriteLine("Read the OK response data in the serial port.")
        MSComm1.PortOpen = False
        Console.WriteLine("Close the serial port.")
    End Sub

End Module
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top