簡體   English   中英

C#SerialPort.Write需要很長時間才能寫入數據

[英]C# SerialPort.Write is taking a long time to write data

我正在嘗試將數據寫入arduino,即時發送70個6字節(所以420字節),我相信在9600波特率下它應該需要大約40毫秒才能發送正確的? 但它花了400毫秒來寫,我不知道為什么或如何使它加速。

用於發送的代碼很簡單,附加代碼只是確保它以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)
            {
            }
       }
    }
}

基本上我希望這種情況盡可能快地發生,因為我試圖盡可能實時地更新硬件。 謝謝你的幫助

波特率是每秒位數,而不是每秒字節數。

420字節是3360位,因此原始數據需要3360/9600 = 0.35秒才能發送。 因此,當包含開銷時,400毫秒似乎非常合理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM