www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Drehgeber per Interrupt auslesen, wieviele Interrupteingänge muss ich belegen bei Atmega64


Autor: Daniel Cagara (cagara)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey,

Bin gerade dabei meine Schaltung zu optimieren,
im moment habe ich einen Drehgeber wie im Bild zu sehen an 3 Ports 
meines Atmega64 angeschlossen, doch ist es zu "suboptimal" die Zustände 
in der Hauptschleife stets auszulesen.

Meine idee wäre jetzt einen Teil der eingänge auf die INT Ports zu legen 
und das ganze per Interrupt lösen,
reicht wenn ich 2 Eingänge auf PC0/1 lasse und nur einen (den Port A) 
auf z.B. INT0 der dann den Interrupt triggert um dann auszuwerten?

Ich denke schon, doch habe ich gerade nicht die möglichkeit es zu testen 
bevor das Board in produktion geht.

PS: PC ist ja ein analoger port, kann ich das ding trotzdem daran 
betreiben?

Autor: Daniel Cagara (cagara)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Rotary encoder in meiner schaltung

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Björn R. (sushi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal hier: http://www.mikrocontroller.net/articles/Drehgeber
Den Code habe ich erfolgreich bei mir zum Laufen gebracht. Funktioniert 
wunderbar...

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und noch ein Tip: Bildformate

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, das ist Target? Die Schriftarten gewürfelt, der Bus grauenhaft und 
die Pins am AVR nicht getroffen? SCNR :-)

Ne, Drehgeber --> Pollen.

Autor: Daniel Cagara (cagara)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven Pauli wrote:
> Hm, das ist Target? Die Schriftarten gewürfelt, der Bus grauenhaft und
> die Pins am AVR nicht getroffen? SCNR :-)
>
> Ne, Drehgeber --> Pollen.

Was meinst du mit "Pollen" :)

Und ja, das ist die Target 3001 v13 version, die kostet zwar in der 
Professional Version über 1000 Euro aber wenn man die PCB Pool version 
nimmt (also die Leiterplatten nur bei PCB Pool entwickeln lässt) bekommt 
man die version kostenlos.

Autor: Sinusgeek (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Was meinst du mit "Pollen" :)

Er meint zyklisches Einlesen des Ports in regelmäßigen Zeitabständen 
(z.B. durch Timer-Interrupt synchronisiert).

Verfolge einfach die Links von Peter, etwas Besseres wirst Du nicht 
finden. Die Routinen sind sooo gut, dass Du sogar auf Deine 
Hardware-Entprellung (RC-Glieder) verzichten kannst.

Mit externen Interrupts wirst Du Schiffbruch erleiden wenn Du laberige 
Drehgeber einsetzt.

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.