Probleme mit dem drehgebr 8051 in ASM

Gast #937210
Lesenswert?
• ▲
▼
Hallo Forumsgemeinde

ich habe hier 2 Routinen zum Auslesen eines Drehgebers.
Die erste ( Getgeber1: arbeitet mit den Pollin Gebern so lala)
( Verluste )
Die zweite Getgeber2: leider gar nicht.
Ich finde den entscheidenden Unterscheid nicht warum die 2. gar nicht 
will.
Bei der 1. Routine frage ich zuerst die stabile Spur ab, da die Geber am 
"Nulpunkt" sehr instabil sind.
Habe mit den Gebern von CSD gleiche Probleme.

"Int" ist ein Bit das in der ISR zurück gesetzt wird.
Die ISR läuft jede 1ms. Bei 3,4 oder5 ms siehts genauso aus.
Plus und Minus sind Flags.
Der Geber hängt an P3.4 (A) und P3.5. (B)
GeberO ist der "alte" Wert vom Geber.
In der LUT steht 1 für Plus, 2 für Minus und Null für .... Nix.
Angehängte Dateien:
Gast #937775
Lesenswert?
• ▲
▼
Warum fragst du den Drehgeber nicht einfach über einen externen 
Interrupt ab? Kanal A auf INT0. INT0 auf fallende Flanken einstellen. In 
der ISR eine kleine Warteschleife, von mir aus auch mit nem Timer und 
dann Kanal B abfragen. Die Drehrichtung wird von Kanal B angegeben. bei 
mir klappt das einwandfrei. Lediglich bei schnellen Drehungen treten 
Verschlucker auf.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.