Tritt allerdings nicht immer auf.
In diesem Fall wird die Ausgabe nicht überschrieben, entferne ich den letzten Beistrich im print befehl nicht, gibt es überhaupt keine Ausgabe:
(Um das Programm schnell zu erklären: der serielle CTS-Eingang wird überwacht, bei "True" wird die Zeit bestimmt und die Differenz zur letzten Zeitmessung gebildet ... Ausgegeben wird die Frequenz, wenn sie sich in gewissen Grenzen befindet)
Code: Alles auswählen
import serial
import time
ser=serial.Serial()
ser.port="/dev/ttyUSB0"
ser.open()
before=0
time_before=time.time()
while True:
if ser.getCTS()==True:
now=time.time()
diff=now-before
before=now
if bool(diff<1.5) & bool(diff>0.15) & bool(now>=(time_before+1)):
print int(60./diff),"\r",
time_before=now
Code: Alles auswählen
while True:
print "test","\r",
Wo liegt der Unterschied und wie bekomme ich Programm #1 dazu die Ausgabe zu überschreiben?