Hallo Ich habe eine Frage die mich brennend interessiert. Kann mtineinen Timer vor dem Overflow-interrupt vielleicht einen anderen Interrupt auslösen? Also wenn ich bei einem 16Bit Timer bei 65536 den Timerinterrupt auslösen kann ich dann auch z.B. schon bei 30000 einen anderen auslösen können? Ich habe mal was von Compare-Funktionen gehört oder habe ich das was flasches aufgeschnappt? Gruss Grillparzer
Hi... Kommt drauf an, ob der von dir verwendete Timer/Counter "Compare" unterstützt. Der Timer0 des 2313 kann das z.B. nicht, da wirst du wohl schon mal deine Nase ins Datenblatt deines AVR stecken müssen... Das siehst aber auch schon an der Interrupt-Vektortabelle daran, ob es einen Vektor für TimerX-Compare-Match gibt. Wenn der Timer das unterstützt, musst du in das/die Compare-Register den Vergleichswert schreiben und den Compare-Interrupt aktivieren (globalen Interrupt natürlich auch). In der zugehörigen ISR schreibst du dann Code, was bei Erreichen des Vergleichswertes gemacht werden soll. Wie die I/O-Register des Timer im Einzelnen heißen erfähst du im Datenblatt bzw. auch im Workspace-Fenster des AVR-Studios (wenn du den richtigen Typ für die Simulation ausgewählt hast). Einige Timer haben auch Hardware-PWM-Funktionen, die musst du dann berücksichtigen und die Bits der Steuerregister dementsprechend einstellen. Hierzu ist ein Blick ins Datenblatt notwendig. Die Bezeichnungen der Bits und Register erfährst du zwar auch über das Workspace-Fenster, die Beschreibungen dazu dürften nur im Datenblatt zu finden sein. Je mehr Funktionen ein Timer bietet, desto unübersichtlicher erscheint dem Anfänger die Beschreibung im Datenblatt. Viel Erfolg... ...HanneS...
Hallo Hannes Danke für den Source ich muss die sache jetz noch studieren. Gruss Gillparzer
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.