private void backgroundThread_read(object sender, DoWorkEventArgs e)
{
  BackgroundWorker worker = sender as BackgroundWorker;
  try
  {
     while ((worker.CancellationPending!=true))
     {
                       //serial IO
     }
     //when the shutdown occurs
     if (worker.CancellationPending == true)  
     {
        backgroundThread.CancelAsync();
      }
   }
   catch (Exception exc)
   {
      backgroundThread.CancelAsync();  //cancel the thread due to error
   }
}
I wrapped this with a messaging class that I made.
Tuesday, June 19, 2012
SerialPort and C#
The SerialPort class in C# has some interesting behavior when combined with a GUI.  The GUI threads seem to fight with the SerialPort IO.  I found the solution to be to use the BackgroundWorker class.
Subscribe to:
Post Comments (Atom)
 
No comments:
Post a Comment