簡體   English   中英

從串行讀取但僅獲取最新數據

[英]Reading from serial but only take the newest data

我有一台將傳感器數據發送到計算機的設備。 我正在用C ++編寫程序來讀取數據並進行處理。 但是假設我的C ++程序有很多工作要做,因此當有時間讀取數據時,設備可能已經通過串行端口發送了數十次讀數。

如果我簡單地逐行讀取數據,我的程序似乎會收到滯后的響應,因為它正在獲取未處理的舊數據。 我不確定什么是最好的解決方法。

  1. 我可以繼續閱讀,直到獲得最后一行數據為止。 但是哪個庫具有返回是否還有更多數據要讀取的功能,因此我可以確定是否正在讀取最后一個數據?

  2. 還是有一些功能可以清理FIFO緩沖區並等待新數據? 那我可以使用哪個庫呢?

Boost ASIO是一個很好的庫,應該符合您的要求。 檢查文檔中的read_until

暫無
暫無

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

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