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

Re: Interrupt-Problem Kategorie: Programmierung C (von PeterS - 12.02.2009 22:10)
Als Antwort auf Interrupt-Problem von Martin - 12.02.2009 17:32

> Hallo zusammen,
>
> ich bin ein ziemlicher Anfänger in der Programmierung und stehe gerade vor einem Problem.
>
> Ich wollte mir mit dem T0-Timer von der MEGA32einen bestimmten Takt erzeugen,
> der Interrupt löst aber immer nach der gleichen Zeit aus.
> Ich meine, es ist egal mit welchem Wert ich den Timer starte, die Zeit bis zum Interrupt ändert sich nicht.
> Hier mal mein Code:
>
> int a;
> void ISR(void){
>     if (a==0) a=1;
>     else a=0;
>     Port_WriteBit(23,a);
>     Irq_GetCount(INT_TIM0COMP);
> }
>
> void main(void){
>     a=0;
>     Port_DataDirBit(23,1);
>     Irq_SetVect(INT_TIM0COMP,ISR);
>     Timer_T0Time(100,PS0_64);                     ***
>     do{}while(1);
> }
>
> *** hier kann ich irgendwelche Werte für "Time" reinschreiben, den Interrupt interessiert
> das nicht.
> Bei einem Vorteiler von 64 hat eine Periode ca. 2,2ms, egal mit welchem Time-Wert.
>
> Was mache ich falsch???

Garnichts, auÃ?er zu erwarten, das ein Interpreter so schnell wie ein Compiler arbeitet. Bei dem Vorteiler
wird ein Interrupt ca. alle 434µ ausgelöst, das schafft der Interpreter nicht.

Gruss Peter

>
> Danke
> Martin


    Antwort schreiben


Antworten:

Re: Interrupt-Problem (von Martin - 13.02.2009 19:25)
    Re: Interrupt-Problem (von mgolbs - 31.10.2009 13:55)