title: SerialPort Write() sending more bytes than in send buffer
body: <p>I have a very strange problem, i am <strong>transmitting</strong> an 105 byte[] buffer, and constantly <strong>receiving</strong> 116 bytes on the other side.</p>
  
  <p>The last 2 bytes on the original data is <strong>CRC16</strong></p>
  
  <p>The code that I am using for transmission is, its looping forever.</p>
  
  <pre><code>    static SerialPort sp = null;
      static void Main(string[] args)
      {
           //105 bytes send buffer
          byte[] data = new byte[] {0xa,0x03,0x64,0x0e,0x15,0x00,0x01,0x00,
                                    0x01,0x00,0x06,0x00,0x23,0x00,0x5f,0x00,
                                    0x00,0x00,0x00,0x00,0x7c,0x00,0x00,0x00,
                                    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                                    0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
                                    0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,
                                    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                                    0x00,0x00,0x00,0x25,0xb8,0x00,0x05,0xff,
                                    0x23,0x00,0x00,0x00,0x00,0x00,0xa2,0x00,
                                    0x00,0x02,0x20,0x00,0x04,0x00,0x03,0x00,
                                    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
                                    0x01,0x00,0x00,0x00,0x01,0x00,0x1f,0x00,
                                    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xae,
                                    0x1f
          };
  
          Console.WriteLine("Serial Port Test");
          sp = new SerialPort("COM1", 19200);
          sp.Open();
          if (sp.IsOpen)
          {
              Console.WriteLine("Begining to transmit serial data..");
          }
          for (; ; )
          {
              Thread.Sleep(1000);
              sp.Write(data,0,data.Length);
              sp.DiscardOutBuffer();
          }
  
          Console.WriteLine("End of transmission");
          Console.ReadKey();
      }
  </code></pre>
  
  <p>What i constantly get on the other side is the following 116 bytes (How strange is it that the message ends with the original <strong>CRC</strong> bytes??) </p>
  
  <pre><code>0xa, 0x03, 0x64, 0x0e, 0x15, 0x00, 0x01, 0x00,
  0x01, 0x00, 0x06, 0x00, 0x23, 0x00, 0x5f, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0xb8, 0x00,
  0x05, 0xff, 0xff, 0x23, 0x00, 0x00, 0x00, 0x00,
  0x00, 0xa2, 0x00, 0x00, 0x02, 0x20, 0x00, 0x04,
  0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
  0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xae, 0x1f, 
  </code></pre>
  
  <p>Any help will be appreciated to fix this issue,</p>
  
  <p>Thank you</p>