J'essaie d'utiliser des périphériques de port série avec Python, mais j'ai des problèmes de synchronisation. Si j'envoie une commande d'interrogation à l'appareil, il devrait répondre avec des données. Si j'essaie de lire les données entrantes trop rapidement, il ne reçoit rien.Python serial.readline() ne bloque pas
import serial
device = serial.Serial("/dev/ttyUSB0", 9600, timeout=0)
device.flushInput()
device.write("command")
response = device.readline()
print response
''
La commande readline()
ne bloque pas et en attente d'une nouvelle ligne comme il se doit. Y a-t-il une solution de contournement simple?
Je ne sais pas si ça aide, mais le [docs] (http: // pyserial.readthedocs.io/en/latest/shortintro.html#readline) montre un appel 'flush' entre' write' et 'readline'. Aussi, il est difficile de comprendre ce que «serial» est réellement et comment il a été configuré. Pouvez-vous poster un exemple de code plus complet que quelqu'un pourrait réellement exécuter et voir le problème –
Quelle est la valeur de votre délai d'attente? – paxdiablo
J'ai développé l'exemple. J'ai ajouté le 'flush()', mais cela n'a pas aidé. – Rachie