Hallo! Ich hab einen Taster an einen ATmega8 angeschlossen. Jetzt sollte folgende Funktion realisiert werden: Wenn der Taster kurz gedrückt wird, dann geht PortB.1 auf high. Wenn der Taster länger als 2 Sek. gedrückt wird, dann geht PortB.1 auf low. Ich habe es so versucht: --- ... Config Timer1= Timer , Prescale = 256 On Timer1 timerirq Enable Timer1 Timer1 = 22336 ... Dim sekunden as byte Main: Do If Taster = 0 and PortB.1 = 0 Then waitms 25 bitwait Taster , Set PortB.1 = 1 End If If Taster = 0 and PortB.1 = 1 Then waitms 25 sekunden = 0 If Sekunden < 2 Then PortB.1 = 1 Elseif Sekunden >=2 Then PortB.1 = 0 End If End If ... loop Timerirq: Timer1 = 22336 incr Sekunden Return --- Leider funktioniert das so nicht. Der Pin wird zwar angeschalten aber das mit dem Ausschalten nach 2 Sek. funktioniert nicht. Vielleicht hat jemand noch eine andere Idee. Danke schonmal. Max
Hallo! Die ist ja drinnen mit de waitms 25 und Bitwait. Das Programm ansich funktioniert so, nur das Erkennen ob der Taster weniger 2 Sek. oder länger als 2 Sek. gedrückt wurde funktioniert nicht. Max
Fehler: Du setzt deinen Sekundenzähler vor jeder Abfrage auf 0
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.