Python 2.7 每1秒读取一次数值 我有两个覆盆子皮。假设这两个pi表示为A和B 所以A和B通过插座相互连接 在特定事件中,每1秒生成一个值。 事件A停止生成这些值

Python 2.7 每1秒读取一次数值 我有两个覆盆子皮。假设这两个pi表示为A和B 所以A和B通过插座相互连接 在特定事件中,每1秒生成一个值。 事件A停止生成这些值,python-2.7,raspberry-pi,Python 2.7,Raspberry Pi,所以B需要每隔1秒通过套接字从A读取这些值。 所以B有一个while循环在运行 所以我所做的是,我在每次循环迭代时读取时间,并检查是否经过1秒。如果经过1秒,我正在从B读取值 下面是一些用于此的伪代码 while True: on = read_from_A() if on: // "on" will suggest me to start read from B current_time = time.time()

所以B需要每隔1秒通过套接字从A读取这些值。 所以B有一个while循环在运行 所以我所做的是,我在每次循环迭代时读取时间,并检查是否经过1秒。如果经过1秒,我正在从B读取值

下面是一些用于此的伪代码

while True:
     on = read_from_A()

      if on:        // "on" will suggest me to start read from B
           current_time = time.time()
           if current_time - last_time == 1:
              read_values_from_A()
              last_time = current_time
           do_some_task()
使用这种方法,我无法在1秒后从精确的读取值。B缺少A中的一些值

因此,假设在6分钟内生成360个值 B应该能够读取360个值


我应该使用什么方式来避免任何数据丢失。

您不能使用超时读取,或者更好地使用异步通信吗?不适用于RPi,但我看到您提到了sockets:module可能会对您有所帮助。从sockets读取数据通常不需要像这样精确的计时。B可以随心所欲地从套接字读取数据,并且只在A向其写入数据后才会接收数据。为什么不使用
时间。睡眠(1)
?您不能只使用超时读取,或者更好地使用异步通信吗?不适用于RPi,但我看到您提到了sockets:module可能会对您有所帮助。从sockets读取数据通常不需要像这样精确的计时。B可以随时愉快地从套接字读取数据,并且只在A写入数据后才会接收数据。为什么不使用
时间。睡眠(1)