从串口读取但只读取最新数据

时间:2014-09-28 07:01:56

标签: c++ serial-port

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

的文档