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?
Rotary encoder in meiner schaltung
http://www.mikrocontroller.net/articles/Drehgeber#Beispielcode_in_C http://www.mikrocontroller.net/articles/Entprellung#Komfortroutine_.28C_f.C3.BCr_AVR.29 Peter
Schau mal hier: http://www.mikrocontroller.net/articles/Drehgeber Den Code habe ich erfolgreich bei mir zum Laufen gebracht. Funktioniert wunderbar...
Hm, das ist Target? Die Schriftarten gewürfelt, der Bus grauenhaft und die Pins am AVR nicht getroffen? SCNR :-) Ne, Drehgeber --> Pollen.
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.
> 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.
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.