使用串行而不会丢失数据

时间:2017-08-30 03:45:23

标签: python serial-port raspberry-pi3 pyserial

我正在使用 Port stream >> | 1111111111111111 | 222222 | 2222222 | 33333 --------------------------------------------- Programm thread >> | listen port 1 -> | handle | listen2 | ..... 监听串口。只有当我得到大量数据时才处理数据,我可以处理。简单事件调度程序侦听来自readet的事件,然后处理事件数据。处理可能涉及IO,网络和其他类型的耗时OS操作。但是谁会在处理最后数据时从串口读取数据?

例如

2

那么来自港口的数据在处理时会丢失吗?比如开始$(".col-md-5").attr("data-field",data[0]._this._sValues[1]); 的包裹?

如何保证来自端口的所有数据都能及时处理?

  • 硬件:Raspberry PI 3b
  • OS:Raspbian
  • Python:v2.7

1 个答案:

答案 0 :(得分:1)

在python中使用循环缓冲区和线程将是一个解决方案。另一种方法是实现不同的协议,以便发送方在发送新数据之前等待收听者确认接收