SerialPort.ReadExisting Gives System.TimeoutException?
Jan 31, 2012
I'm trying to make a simple Class that reads data from a SerialPort.The Device returns a number of lines of Strings.
Code:Public Class Device
Private Device As New IO.Ports.SerialPort("COM4", 4800) Private WithEvents tmr As New Timer Public Event GotData(ByVal Data As String)
[code].....
View 5 Replies
ADVERTISEMENT
Mar 10, 2010
I'm using the following to read a serial port. When run it displays the data correctly but stepping through the program I find that it loops through the serialdatarecieved event for each character of the port input rather than reading all of it. So _msg only equals one letter at a time. I'm trying to set a variable equal to the entire input stream but only get one character of it.The end goal is to capture all of the data available on the port when the event triggers so that this data can then be processed. I tried using the bytestoread function, which gets the correct number of bytes to read, and then looped through to read a byte at a time but that didn't seem to work as I expected either. It just kept reading the first byte.
Imports System.IO.Ports
Public Class CommTest
Dim WithEvents SerialPort As New SerialPort
[code]....
View 3 Replies
Jun 27, 2011
i try readexisting and instr function as follow:
[code]...
View 1 Replies
Apr 5, 2010
i'm using the AppendText(serialPort.ReadExisting) method of the SerialPort class. i'm sending to the serial port a 12 byte frame. however in the TextBox control streams printed seem choppy as if the ReadExisting method is exiting too quick to grab all 12 bytes so i can display them at once.
View 3 Replies
Jan 16, 2010
Recently we have connected one bluetooth device which receive data from our serial device. The bluetooth device further transmite this data to a Windows Mobile which is bluetooth enable. Baud rate of whole system is 19200 with 7 data bit and 1 stop bit.When we send command to serial device through bluetooth device it is accepting the command and respond accordingly. but some of data byte of string is desplay as question mark (?).But in case we connect the serial device directly to PC, the string received is correct.[code]Response given by Serial Port is "?09?D03?A D?
View 1 Replies
Jan 16, 2010
Recently we have connected one bluetooth device which receive data from our serial device. The bluetooth device further transmite this data to a Windows Mobile which is bluetooth enable. Baud rate of whole system is 19200 with 7 data bit and 1 stop bit.When we send command to serial device through bluetooth device it is accepting the command and respond accordingly. but some of data byte of string is desplay as question mark (?).[code]...
View 4 Replies
Jun 3, 2010
How can I make multiple instances of System.IO.Ports.SerialPort and declare them on the fly? I need to monitor multiple RS232 ports based on the EU's selection. EU will select ports e.g. 1,2,6,9,11 and rename them as necessary. Selections will then be stored in a settings file.I would like to declare these at runtime e.g
Com1 is renamed LabelPrinter
Dim comLabelPrinter As New System.IO.Ports.SerialPort
With comLabelPrinter
[code]....
Or if not, make multiple instances based on the number of ports selected and renamed.The declaration based on the rename would just make it easier to work with but can be committed?
View 1 Replies
Nov 24, 2010
I am writing a serial application using VB .net Framework V4 , where I use a background worker to Read a file and send it to a serial port using SerialPort1.writeLine method. The BackgroundWorker1.ProgressChanged Event handler sub Updates the Line Number to a TextLabel and adds each line sent to a RichTextBox using RichTextBox1.AppendText() method on main form (Form1).
The problem arises at 115200 Bauds (and higher),may be because now the text is updated real fast on the form an unhandled Exception in BackgroundWorker1.ProgressChanged Event handler sub occurs. Otherwise at lower baudrates ex: 9600,19200 etc. Application Runs Perfectly Fine.
[Code]...
View 6 Replies
Nov 18, 2010
For whatever odd reason, we have a legacy data recorder device that runs at 9600 baud. Except when it needs to transfer its recorded data to a PC, in which case it switches to 57600 baud.
The old VB6 code worked, although it had its own set of problems of course.
The routine is this: Do several COMMAND/RESPONSE routines to populate a list of available records, listed by timestamp, at 9600 baud. Once a timestamp or several are selected, display a file save dialog. At the moment that dialog is closed, send a command to the device to tell it "hey we're going to warp", sleep for 100ms, then set the baud rate property of the persistent COM1 connection to 57600, before beginning to process XMODEM data and do the progress bar dance.
The problem I'm having is that it doesn't appear that the data received is ever really kosher as far as the byte marshaling is concerned. Which makes me wonder just how well SerialPort is at dynamically changing bauds on the fly. The VB6 version used MSComm.
I've even attempted to just use MSComm through the compatibility layer but "CTL_E is not supported" which makes it sound like it's incapable of doing XMODEM. (?)
View 1 Replies
Apr 23, 2011
I am trying to read caller id from a internal modem. modem is caller id enable and it works in hyper terminal. but when i try from vb.net it only shows 'RING'. here is my full code
[Code]...
View 4 Replies
Dec 16, 2011
I am using VB 2005 and need to trap a serial port timeout. I use a standard try/catch block, but if no characters arrive the code still hangs at the ReadByte call. Here is the code:
Try
SerialPort.ReadTimeout = 200
' read timeout of 200 mSecs
thisByte = SerialPort.ReadByte()
[code]....
View 5 Replies
Jul 12, 2011
Recently while trying to help someone with an issue using USB SerialPort's I discovered sometheing interesting when the ports Handshake was set to RequestToSend. My setup COMx <---> BreakOutBox <---> COMy COMx and COMy are on the same PC. The breakout box is used to create a null modem, pins 2 & 3 crossed, pin 20 to pin 6.When the handshake was set to RequestToSend every Write resulted in Carrier Detect and Ring being raised. Is this just my adapter or are all USB SerialPorts like this?Serial Port Random Microsoft® Community Contributor 2011
View 2 Replies
Jun 23, 2010
I have wrote this program (for PDA), to connect a PDA to the PC via RS232.It only works half way.
If I send anything from the pda to the pc, I receive data correctly.If I send anything from the pc, then the pda hangs up.Can anybody tell me what I'm doing wrong?
Also, how do I make sure the port on PDA is closed when quitting the application?
[Code]...
View 1 Replies
Sep 23, 2011
Looking for serial port communication using ASP.NET 4.0. I have a cardwriter/reader from IDTECH which talks through a comport. Is there any way to accomplish with .net through the web.
I read things but most of the topics on speaking about .net 2.0 and I was not sure if they created something to handle this in .net 4.0
View 2 Replies
Jun 16, 2011
We have been debugging a problem with serial communications with an embedded device on 115200 baud, Even parity, 8 databits and 2 stopbits. The problem: a lot of extra 0x00 are sometimes received from the serialport.
1) We build a real basic sample program that only handles the data exchange. It was completely build according the serial-port-vb.doc from msdn. It was build in vb.net 2010. So this was the most basic setup possible on the PC side. This simple tool clearly shows the datareceived event spitting out extra bytes.
2) We used a scope to look at the hardware bits/levels. No problems / differences seen between good and bad messages. No extra bytes visible that the serialport event send to our programm.
3) We tapped the serial communication and received no wrong data on the tapping system but still on the .net tool. Again the serialport datareceived event gave us many extra 0x00 bytes.
So our only possible conclusion is that there is a problem in the serialport component from .net. My question: Are there any know issues? Can I get in contact with a microsoft engineer?
View 9 Replies
Mar 16, 2009
I want to send some data through a serialport (USB) permanently and got a problem once the USB interface crashes. Sometimes it just happens, but if I ask the PC "serialport2.isopen ()" I will get a TRUE, even though the USB cable was uplugged. How can I check if a connection is still available. CDHolding wasnt working either. I am using VB 2008 Express
View 7 Replies
Jan 27, 2009
how to use the SerialPort in Visual Basic Express?
I have this in the Serial Port Data Recieved event
Code:
SerialText = SerialText & SerialPort1.ReadChar
TextBox1.Text = SerialText
I get : Cross-thread operation not valid: Control 'TextBox1' accessed from a thread other than the thread it was created on. As soon as the event is triggered.
I'd like to display the recieved info in a textbox and transmitt info as well, but I don't know how...
View 4 Replies
Jan 7, 2011
i am coding a tool which is able to connect GPS devices over the IO.Ports.SerialPort function in .NET..Everything works fine, but to list all available COM interfaces it looks like: [code] its impossible to connect to a device which is called COM3°. If i simply try to connect manually to COM3 it works perfect. [code]
View 3 Replies
Aug 3, 2009
I have an application that requires several threads, otherwise the main UI thread would end up frozen.i am after a little advice as i have not really don alot of threaded applications.
First Question;
I have a thread which handles data coming in from the serial port( this wil become much more complicated), is it safe to use a synclock on the serialport object : -
[code]...
View 3 Replies
Jul 21, 2009
Im using VB express 2008 (compiled with .NET 3.5) to write a program that communicates with a USB device. The USB device is a communication class device and thus will emulate the usual rs232 serial port once attached to the PC. The USB device sends a fixed number of bytes and i have set the threshold received byte property to this value. I have run the program and it seems to read the USB device "correctly" but when i debug the code, i realise that the datareceived event of the serial port gets fired on the eventtype = EOF. I am using the Read function to read the bytes from the serial port and the Newline property is set to "" (but i thought that this is irrelevant if im not using ReadLine). When the datareceived event fires with EOF, the Read function blocks until one byte arrives, reads it and calls the function that processes the data. I went through the forum and realised that the EOF eventtype is no longer supported, is this true? I dont think that getting this eventtype is logical anyways in my case.
View 5 Replies
Apr 3, 2010
I'm trying to enable a timer within a SerialPort.PinChanged even is reached but the timer tick even never starts. Has anyone ever tried this? I am using vb.net 2008 express so I dont know if that is the issue or not.
[Code]....
View 9 Replies
Apr 7, 2011
I am doing a sms project using VB .net to connect to my gsm modem via serialport. All the connection and everything was working great and I can send and receive sms. Then here come a problem, I need to send long sms more than 160 chars. I read and did some research and I know that I need to use the pdu and udh. I managed to understand slightly of the pdu packet but is still quite confuse on that part.
Anyone can briefly explain the exact way to do the concatented sms (long sms)?Another problem is how can I use vb to encode the data into pdu gsm 7bit data? Is there any built in functions or do i need to write them myself?
View 1 Replies
Mar 14, 2009
I am trying to access a printer via the serial port in VB Express 2008. I wrote a small prog with buttons on the form to exercise the escape codes in a Windows Vista 32 laptop with a USB to serial adapter. Only 3 codes worked, BEL, reset and a printer specific command. Also, when i try to receive data, it justs times out. So, I tried to move to a WinXP machine with real serial ports. The program now has an illegal argument exception and the message is to the effect that the name of the port for the property portName does not start with COM/com. Which is very puzzling because I did verify the portname and it is com1.Is this a known issue or am I doing something wrong? The form works on Vista but not in XP.
[Code]...
View 8 Replies
Apr 4, 2012
I am writing a program which detects a development board I designed which communicates with an FTDI chip. Right now my program scans any COM ports and generates a list, which the user will then choose from and connect with that device. The problem is that I want to isolate that list to only the devices which I designed. The FTDI has a unique manufacturer and device ID, but I only know how to access this data 'the old fashioned way' (i.e. through device manager).
What I would like to know how to do is determine the VID and PID of a COM port from VB, so I can dynamically get rid of any devices which do not meet the proper requirements and thus my list will only show the correct devices.
View 13 Replies
Aug 21, 2009
I'm working on application which uses SerialPort Control to send/receive commands to/from microcontroller.
Here is the basic
CODE:
I maybe missing something because the reaction of microcontroller very accidential! I mean, sometime it works from the first click and sometime from the third... I must make a number of clicks until it reacts back!
View 1 Replies
Jun 23, 2010
I am trying to send and receive data using the SerialPort component. I am sending data to an Texas Instruments MSP430 which simply echos the sent character. I wanted my VB solution to read characters from a file, send a single character, and wait until the echoed character is received before sending another.
I have been fairly successful thus far but I have run into a little catch. When I attempt to send large files (323505+ characters) my MSP430 just hangs there and will not receive any more characters. My VB app return to VS '08 with timeout errors (timeout set to 1 minute).
I wanted to post my VB code here to see if the problem is from my VB app. I will be posting this problem on the IT usergroup to sort out anything on the MCU end. Here is the pastbin of the data write and the data receive subs:[URl]..
View 2 Replies
Aug 25, 2009
I'm using one form to make contact with the serial port with the next
Imports System.IO.Ports
Imports Microsoft
Public Class Menu
[Code].....
View 2 Replies
Nov 9, 2009
output.gif?I've just upgraded to Visual Studio 2008 and have been given a project and getting gps string from a radio via the serial port. I used a program called "SerialWatcher" and it monitors the data coming in from the radio. It works perfectly. When I tell it the port and settings, click Open, I get consistent output. Here is an example of the data that I got:
<NUL><STX>$PKLDS,124043,A,3337.8562,N,08418.8077,W,000.0,146.5,091109,,00,101,2190,80,00,*1C<CR><LF><ETX><STX>$PKLDS,124104,A,3357.1421,N,08403.0604,W,000.0,000.0,091109,3.0,W00,101,3003,80,00,*61<CR><LF><ETX><STX>$PKLDS,124128,A,3354.1213,N,08414.3434,W,000.1,274.3,091109,4.9,W00,101,2576,80,00,*64<CR><LF><ETX>
[code].....
The little icon symbol before the dollar sign is actually two symbols which I think are the <stx> and <etx>. I'm including a screenshot to show what they actually look like. From the output my program created all I would need is actually the last line. I can't really check for "length" because some data received by the radio will be half that length (or more than half). But there should always be a start and end (regardless of what is in the middle) I would think.
View 2 Replies
Nov 20, 2009
I have a program that is hooked to an external device via rs232. I can send and receive messages to this device just fine using the ReadLine() method of the serial port. This allows me to send a command and wait for a response in a synchronous manner. However, when I start the program I need to check the status of the device. If the device is in a sleep state, off, or on, I send a command and get a response, however, if the machine is unplugged, I get nothing so my program will hang waiting for a response before continuing. I would like to abort the readline after 1 minute and display a message that the external device is not connected or having a problem, etc. and allow the program to load. The command I use to check the device is:
Do Until Mid(balanceStatus, 1,3) = "S S" 'This is the return command that the status is read
spBlance.Writeline ("S")
balanceStatus = spBalance.Readline 'This will cause the program to hang if the external device is unavailable[code]....
That readline is causing the program to hang. So I need a way to abort if it exceeds a certain time (around 1 minute). I was trying to use the DataReceived Event of the serial port, but I need to wait for a response before continuing and DataReceived fires on its own thread.If there is a way to abort the thread, I was thinking of doing a timer control.
View 1 Replies
Apr 24, 2009
I am trying to run the function:
Code:
Private Sub port_dataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles port.DataReceived
from inside a while loop of a different function ie.
Code:
While A_switch = 0
System.Threading.Thread.Sleep(100) ' Sleep for .1 second
calabrate_send = calabrate_send - 5
[code]....
the real problem is that the serial call updates the value of A_switch which is need to exit the loop at the correct time?
View 2 Replies