[英]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.