2014-09-28 71 views
1

我有一台设备将传感器数据发送到我的电脑。我正在用C++编写一个程序来读取数据并对其进行处理。但是假设我的C++程序有很多工作要做,所以当有时间读取数据时,设备可能已经通过串口发送了数十个读数。从串口读取,但只读取最新数据

如果我只是逐行读取数据,我的程序似乎会得到滞后的响应,因为它正在获取未处理的旧数据。我不确定处理这个问题的最佳方法是什么。

  1. 我可以继续阅读,直到我到达最后一行数据。但是哪个库的函数会返回是否有更多的数据需要读取,因此我可以确定是否正在读取最后一个数据?

  2. 还是有一些功能只是清理FIFO缓冲区并等待新的数据?我可以使用哪个库?

+0

ooo多项选择。 #2! – thang 2014-09-28 07:04:27

+0

是否有任何具有该功能的库?其中大部分应该是 – seilgu 2014-09-28 07:06:48

+0

。它只是冲洗。 – thang 2014-09-28 07:07:21

回答

0

Boost ASIO是一个很好的库,应该符合您的要求。检查文件的read_until