ISR mehrfach deklaration

OP #4657373
Lesenswert?
• ▲
▼
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.
Gast #4657638
Lesenswert?
• ▲
▼
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren