www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Tasterentprellung in assembler


Autor: Jemand (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi
ich hab ne tasterentprellung in assembler geschrieben die auf die 0-1
flanke wartet
bloß irgendwie geht sie nicht
es blinkt dann mit 50Hz
kann mir jemand sagen wieso und was ich ändern muss??
hier der code: http://www.jemand.dreamworld.cd/t3.asm

Danke schonmal
Jemand

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"die auf die 0-1 flanke wartet"

Stimmt nicht, Du testest nur ob gedrückt.
Wenn Du die Flanke erkennen willst, dann mußt auch testen, ob vorher
losgelassen wurde.


Wenn Du allerdings nicht das Fahrrad nochmal neu erfinden willst,
kannst Du auch eine vielfach bewährte Lösung nehmen:

http://www.mikrocontroller.net/forum/read-4-20549.html#new


Der große Vorteil ist, daß das Warten im Timerinterrupt erfolgt.
Dadurch wird der Programmfluß nicht gestoppt, d.h. man kann weitere
Sachen im Programm machen.



Peter

Autor: Jemand (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Doch tu ich
ich speicher in r17 ob vorher gedrück wennz noch niemandem aufgefallen
ist
hier ist mal ein schema:
t gedrückt?
nein: nicht gedrückt speichern und zurück nach loop
ja: delay - verher null?: nein: zurück nach loop
                                         ja:event -> geddrückt
speichern -> nach loop

aber wieso gehtz nicht??

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"ich speicher in r17 ob vorher gedrück"

Wolltest du vielleicht, tust Du aber nicht

Schau Dir mal die Syntax der SBR und CBR-Befehle an, in Deinem Fall
wirken sie nämlich wie NOPs.



Peter

Autor: Jemand (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ach na sowas
hab immer gedacht man gibt da auch die bitnummer an wie bei sbrs
naja gut
dnake jedenfalls
es geht jetzt

Jemand

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.