Hallo zusammen, Ich habe eine kleine Frage zu meinem Problem und zwar habe ich ein Programm für einen Atmel Tiny 44 geschrieben, der ein PWM Signal erzeugt, dies mache ich unteranderen über die ISR mittels 16 Bit Timer. Nun möchte ich mein Programm modifizieren und benötige den 16 Bit Timer bzw. die ISR TIM1_COMPA_vect erneut. Meine Frage dazu ist nun, ist es möglich die ISR TIM1_COMPA_vect in verschiedenen Modulen zu deklarieren und verschiedene Operationen darin durchführen zu lassen? Mein Gedanke ist, dass man mehrere Methoden, variable usw. mit dem selben Namen deklarieren kann, jedoch müssen diese dann innerhalb des Moduls einzigartig sein bzw. einzigartig vom Namen in ihrem Sichtfeld. Bei der ISR TIM1_COMPA_vect bin ich mir nun nicht ganz sicher und wollte hier mal nachfragen.
Ein (1) Interrupt ist : -ein Vektor in der Interrupttabelle -ein Stueck Code, wo der Interrupt Vektor drauf zeigt Und bei den kleinen AVR ist diese Tabelle fest.
Dieter V. schrieb: > Meine Frage dazu ist nun, ist es > möglich die ISR TIM1_COMPA_vect in verschiedenen Modulen zu deklarieren > und verschiedene Operationen darin durchführen zu lassen? Und was genau soll passieren, wenn der Timer den IRQ auslöst? Diese Frage muss eindeutig beantwortet werden, völlig egal was du wo deklarierst. Es ist aber gängige Praxis, einen Timer vielfach zu verwenden, die ISR sieht dann halt so aus: ISR: wenn wasauchimmer1 Machwas1 wenn wasauchimmer2 Machwas2 wenn wasauchimmer3 Machwas3 IRET Ich benutze oft einen 1ms-Timer für eine ganze Reihe von Aufgaben, auch solchen, die z.B. nur alle 5 ms ausgeführt werden müssen - das Geheimnis heisst Zähler 0..4. Georg
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.