KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am reading data from serial port. The data comes off the scale. I am now using Readline() and getting data dropped even after I removed DiscardInBuffer() . What is the proper way to read the data from the serial port? There are so few examples online that I feel it's like some holy grail that no one has figured out. C#, WinCE 5.0, HP thin client, Compact framework 2.0 private void WeighSample() { this._processingDone = false; this._workerThread = new Thread(CaptureWeight); this._workerThread.IsBackground = true; this._workerThread.Start(); } //end of WeighSample() private void CaptureWeight() { globalCounter++; string value = ""; while (!this._processingDone) { try { value = this._sp.ReadLine(); if (value != "") { if (value == "ES") { _sp.DiscardInBuffer(); value = ""; } else { this.Invoke(this.OnDataAcquiredEvent, new object[] { value }); } } } catch (TimeoutException) { //catch it but do nothing } catch { //reset the port here? MessageBox.Show("some other than timeout exception thrown while reading serial port"); } } } //end of CaptureWeight() One thing to note about my application is that I start the thread (weighSample) when the cursor jumps onto the textbox. The reason to this is that the weight can also be typed in manually (part of the requirements). So I don't know in advance whether a user is going to press PRINT on th
Tags (comma-separated)
Save Edits
Cancel