Programming the Bus Pirate with C#

A while ago i received my Bus Pirate from Seeed Studio Depot. In essence it is a universal serial bus interface and i would love to program it using c#. I know that i can use the DataReceived event and then fiddle with bits (read here if you’re into that kind of self-punishment) but spawning a separate thread to do the blocking work is ten times less work to get it up and running:

static void Main()
{
 using (var serialPort = new SerialPort("COM9", 115200, Parity.None, 8, StopBits.One))
 {
  serialPort.Open();
  
  new Thread(() => WriteLinesFrom(serialPort)).Start();

  while (true)
  {
   var command = Console.ReadLine();
   if (command == "EXIT") break;
   serialPort.WriteLine(command);
  }
 }
}

static void WriteLinesFrom(SerialPort serialPort)
{
 try
 {
  while (true) Console.WriteLine(serialPort.ReadLine());
 }
 catch (Exception)
 {
  break;
  }
 }
}

This entry was posted on Saturday, January 16th, 2010 at 12:10 and is filed under C#. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply