【发布时间】:2012-03-10 19:27:54
【问题描述】:
我正在编写一个用于向 avr 发送订单的代码。我发送了几个信息,但在每次写入之间,我必须等待答案(我必须等待机器人到达坐标系上的一个点)。正如我在文档中所读到的,readline() 至少应该读取到超时,但只要我发送第一个坐标,readline() 就会自动返回:
SerialException: device reports readiness to read but returned no data (device disconnected?)
当我在 for 循环中的每个 write() 之间放置一个 sleep() 时,一切正常。我尝试使用inWaiting(),但它仍然不起作用。这是我如何使用它的示例:
for i in chemin_python:
self.serieInstance.ecrire("goto\n" + str(float(i.x)) + '\n' + str(float(-i.y)) + '\n')
while self.serieInstance.inWaiting():
pass
lu = self.serieInstance.readline()
lu = lu.split("\r\n")[0]
reponse = self.serieInstance.file_attente.get(lu)
if reponse != "FIN_GOTO":
log.logger.debug("Erreur asservissement (goto) : " + reponse)
【问题讨论】:
标签: python serial-port pyserial