簡體   English   中英

快速異步串行通訊

[英]Fast asynchronous serial communication

我有一個控制器設計應用程序,在其中我從3個USB設備(在Windows下稱為虛擬com端口)獲取數據,進行處理,然后將動作發送到第4個USB設備(也為虛擬com端口)。 一旦我以最小的延遲接收到數據,我就需要對其進行處理。 我決定在嵌入式Windows上使用C ++,並使用.Net System :: IO :: Ports和DataReceived事件進行串行通信。 我僅使用一個USB設備測試了代碼性能,其中USB設備將一個字節發送到計算機,然后計算機將其發送回。 我測量時差,這完全不確定。 有時2毫秒,有時20毫秒。 注意:進程優先級設置為實時。

在確定最大延遲的情況下,獲得確定性延遲的更好方法嗎? 可能是另一個適用於嵌入式Windows上的實時串行通信的API?

提前致謝

在Windows中,您無法獲得確定性的延遲。 您無法保證。 因為它不是實時操作系統。

如果您需要對項目強制執行的保證,則可以將實時部件驅逐到較小的設備中,例如Arduino (開源, 某些用戶使用其制作了實時操作系統 )或Beck芯片 (商用,已交付)。帶有實時miniOS ); 或者您可以安裝RealTime Linux ,這會帶來一定的保證延遲。

暫無
暫無

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

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