bastel gerade an einem Messgerät für die serielle Schnittstelle. Braucht kein Mensch - macht aber Freude !
https://informatik.bildung-rp.de/filead ... -RS232.pdf
Code: Alles auswählen
def measure(self):
try:
with serial.Serial(self.device) as self.ser:
end = None
self.ser.setDTR(False)
start = time.time()
while self.ser.dsr == False:
end = time.time() - start
uf = end * 1000 - 80 * end
self.ser.setDTR(True)
if end and uf >= 0.5:
self.display.delete("cap", "error")
self.display.create_text(
self.width / 2,
self.height / 2, text="{0:2.2f} uf".format(uf),
font = self.display_font,
fill = self.text_color,
tag = "cap")
self.ser.close()
self.after_id = self.after(int(end * 5000),
self.measure)
else:
self.display.delete("cap", "error")
self.start_stop_button.config(text = "START")
self.display.create_text(
self.width / 2,
self.height / 2,
text = "uf < 1 or not connected",
font = self.error_font,
tag = "error")
self.after_id = None
except (serial.SerialException, IOError) as error:
self.display.delete("cap", "error")
self.display.create_text(
self.width / 2,
self.height / 2,
text = "{0}".format(error),
font = self.error_font,
tag = "error")
self.start_stop_button.config(text = "START")
self.after_id = None
finally:
self.ser.close()
Gruß Frank