Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Interruptroutine Capture Compare Kategorie: Programmierung C (von PeterS - 20.08.2009 13:06)
Als Antwort auf Interruptroutine Capture Compare von Josef - 19.08.2009 17:51
Ich nutze:
C-Control Pro Mega32, C-Control Pro Mega128, CC-Pro 32 Application Board, CC-Pro 128 Application Board, Pro-Bot128
> hallo
> das problem besteht darin, dass die interruptroutine keine abfrage (if, switch usw.)
> oder einen Unterprogrammaufruf vertr├Ągt.

Hi, das mag Dir so erscheinen ist aber nicht so. If's etc. funktionieren In IRQ Routinen, sonst
w├╝rde die ganze DCF Library nicht funkionieren.

> sobald ich in die unten angef├╝hrte interruptroutine ein if einbaue verabschiedet sich der prozessor.
>
> void Timer3_ISR(void)
> {
>    x[a]=Timer_T3GetPM();
>    Irq_GetCount(INT_TIM3CAPT);           // Interrupt zur├╝cksetzen
> }
>
> will man nun ein signal mit unterschiedlichen Pulsl├Ąngen messen, funktioniert das nur
> wenn man im hauptprogamm ein while (x[a]==0; einbaut und anschlie├čend die Messung
> wieder startet (Bemerkung: ist aber nicht sinn eines interrupts, wenn man wartet bis der interrupt
> abgearbeitet ist)

Man sollte immer! im Interrupt nur das n├Âtigste erledigen, und den Rest im normalen Programm
verarbeiten. Dabei erlaubt der Interpreter seinen IRQ Routinen viel mehr, als eine wirkliche
CPU durchgehen liesse.

Gruss Peter

> oder man l├Ąsst den code durchrasseln und macht immer wieder eine abfrage -> dann ├╝bersieht man
> irgendwann einen puls, wenn der codedurchlauf zu lange wird.
> gibts hier eine l├Âsung?
>
> gru├č
> josef


    Antwort schreiben


Antworten:

Re: Interruptroutine Capture Compare (von Josef - 20.08.2009 18:19)
    Re: Interruptroutine Capture Compare (von PeterS - 20.08.2009 21:46)
        Re: Interruptroutine Capture Compare (von Josef - 21.08.2009 10:23)
            Re: Interruptroutine Capture Compare (von PeterS - 22.08.2009 12:04)
                Re: Interruptroutine Capture Compare (von Josef - 22.08.2009 19:41)