2013-07-14 147 views
0

我试图写入数据到一个arduino,我发送70个6字节(所以420字节),我相信在9600波特率应该需要大约40millsec到发送正确?但它需要400毫秒来编写,我不知道为什么或如何加快速度。C#SerialPort.Write需要很长时间才能写入数据

用于发送的代码很简单,额外的代码是确保它以6个字节集发送。

private void Send(List<Byte> Data) 
{ 
    if (Running) 
    { 
     if (_Port.IsOpen) 
     { 
      try 
      { 
       int Rem, Div = Math.DivRem(Data.Count, Tester.Length, out Rem); 
       for (int cnt = Rem; cnt < Tester.Length; cnt++) 
       { 
        Data.Add(255); 
       } 
       _Port.Write(Data.ToArray(), 0, Data.Count); 
      } 
      catch (InvalidOperationException) 
      { 
       _Port.Close(); 
      } 
      catch (IOException) 
      { 
      } 
     } 
    } 
} 

基本上我希望这种情况发生尽可能快,因为我试图尽可能实时更新硬件。 感谢您的任何帮助

回答

2

波特率是每秒比特率,而不是每秒字节数。

420字节是3360位,所以原始数据需要3360/9600 = 0.35秒才能发送。所以,400毫秒似乎是非常合理的开销包括在内。

+0

够公平的:P我想知道我就是这样,thxs很多 – Tails270

相关问题