mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik BASCOM Taster Betätigungslänge erkennen


Autor: Max E. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Teplotaxl X. (t3plot4x1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Entprellung vergessen?

Autor: Max E. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Uwe2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fehler: Du setzt deinen Sekundenzähler vor jeder Abfrage auf 0

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.