Hi! Ich komme hier im Text nicht weiter. Mag einen Drehgeber auswerten und habe im www den obigen Textschnipsel gefunden. Jedoch geht beim compilieren schon ein Fehler los, die Baudrate wäre nicht möglich- hab ich also das Schicken des Werts von "D" gecancelt. Nun würde ich gern wissen, warum nicht mein Atmega 8 diese Aufgabe kann? Stelle ich auf den Mega8 um, so stört den Compiler u.A. diese Stelle: On Pcint0 Int_isr bei der Sache mit angenommenem tiny13 stellt das kein Problem dar, beim Atmega8 gehts nicht?! Weiterhin akzepiert man beim tiny13 diese Stelle, jedoch beim Atmega8 nicht: Pcmsk = 8 Gimsk = 32 Da ich in der Hilfe hierzu nichts finden kann wende ich mich hier an einen erfahrenen Experten :-) Da ich keinen Tiny13 habe und diesen auch nicht nutzen mag suche ich nach einer Lösung, den Drehgeber auszuwerten an Atmega8
> Stelle ich auf den Mega8 um, so stört den Compiler u.A. diese Stelle: > On Pcint0 Int_isr Ja logisch, Du willst damit ein Feature verwenden, das Du gar nicht gekauft hast... ;-) Der Mega8 hat kein PinChange-Interrupt, was Du durch einen Blick in das Datenblatt des Mega8 auch selbst herausfinden konntest... Du kannst stattdessen einen der externen Interrupts verwenden. Sei Dir aber bewusst, dass das Auswerten von Drehgebern mit Interrupt den Controller arg belasten kann, besonders bei Drehgebern ohne Rastung oder bei billigen mechanischen Drehgebern. Ich bevorzuge (zumindest bei Drehgebern, die der manuellen Bedienung dienen) eine Variante, die vom Timer-Interrupt synchronisiert wird oder im Timer-Interrupt läuft. Dies läuft auch mit billigen Drehgebern aus Sonderposten zufriedenstellend. Funktionsweise: Es wird aus den beiden aktuellen Drehgeberbits und den gemerkten Drehgeberbits der letzten Abfrage eine 4-Bit-Zahl gebildet (0..15) und der Increment-Wert (0, +1 oder -1) aus einer Lookup-Tabelle geholt und zum zu verstellenden Wert addiert. Das Prinzip ist auch im Wiki unter Drehgeber beschrieben. ...
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.