Schönen guten Tag,
für mein neues Projekt benötige ich eine Stoppuhr. Ich habe auch schon etwas geschrieben, habe aber noch ein kleines Problem... Zunächst erstmal mein Skript:
Python
#!/usr/bin/python
# import
import RPi.GPIO as GPIO
import time
import os
# Variable Counter definieren
t1 = 0
t2 = 0
dt = 0
# SoC als Pinreferenz waehlen
GPIO.setmode(GPIO.BCM)
# Pin 17/22 vom SoC als Input deklarieren und Pull-Down Widerstand aktivieren
GPIO.setup(17, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
GPIO.setup(22, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
def Zeit_start(channel):
global t1, t2, dt
t1 = time.clock()
while True:
t2 = time.clock()
dt = t2 - t1
print("Laufzeit " + str(dt))
os.system('clear')
def Zeit_stop(channel):
print("Laufzeit: " + str(dt))
# Interrupt Event hinzufuegen. Pin 17/22, auf steigende Flanke reagieren und ISR "Interrupt" deklarieren
GPIO.add_event_detect(17, GPIO.RISING, callback = Zeit_start, bouncetime = 200)
GPIO.add_event_detect(22, GPIO.RISING, callback = Zeit_stop, bouncetime = 200)
# Endlosschleife
while True:
time.sleep(1)
Alles anzeigen
damit bin ich jetzt soweit, dass ich die Laufzeit schon hoch zählen lassen kann. Nun zu meinem Problem. Mit dem ersten Interrupt kann ich zwar die Stoppuhr starten, dennoch kann ich mit dem zweiten Interrupt diese nicht stoppen. Und jetzt komme ich leider nicht mehr weiter... Deshalb wollte ich mal fragen, ob einer den Fehler vielleicht gefunden hat und mir helfen könnte?
Mfg Kellermann66