Ich arbeite an einem Projekt mit einem Münzprüfer und einer Himbeere. Ich habe den folgenden Code, um die Ausgabe von dem Münzprüfer zu testen:Python Serial hört auf zu lesen
import serial
from time import sleep
ser = serial.Serial('/dev/ttyUSB0', 4800, 8, 'N', 1, timeout=None)
while True:
line = ser.read(ser.inWaiting())
if len(line) > 0:
print ord(line)
ser.close()
alles funktioniert und ich Ausganges von dem Akzeptor jedes Mal, wenn ich eine Münze fallen. Aber nach einer Weile hört es auf zu lesen. In Windows mit einem seriellen Port-Monitor funktioniert es und ich werde jedes Mal ausgegeben.
Danke!
versuchen, ein Timeout-Einstellung und erneutes Öffnen des Hafens von Zeit zu Zeit? –
'' ord (line) '' wird fehlschlagen, wenn Sie mehr als ein Zeichen gleichzeitig lesen ... – jasonharper
Sie können '.isOpen' verwenden, um zu erkennen, ob der Port geschlossen ist, und ihn dann wieder zu öffnen . Implementieren Sie auch eine Debugprotokollierung, um Einblick in die Vorgänge zu erhalten. – thephez