Я пишу код, используемый для отправки заказа на avr. Я посылаю несколько данных, но между каждой записью мне приходится ждать ответа (мне нужно ждать, пока робот достигнет точки в системе координат). Как я прочитал в документации, readline()
должен хотя бы прочитать до истечения времени ожидания, но как только я отправлю первую координату, readline () автоматически вернет:
SerialException: device reports readiness to read but returned no data (device disconnected?)
Когда я помещаю sleep()
между write()
в цикле for
, все работает нормально. Я пытался использовать 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)