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

Re: Funktion thread_delay und Softwareuhr Kategorie: CC-Pro Unit & Appl.Board (von PeterS - 10.07.2009 18:01)
Als Antwort auf Re: Funktion thread_delay und Softwareuhr von ER - 10.07.2009 16:29
Ich nutze:
C-Control Pro Mega32, C-Control Pro Mega128, CC-Pro 32 Application Board, CC-Pro 128 Application Board, Pro-Bot128
> Hallo PeterS,
> jetzt habe ich es verstanden.
> Die Timer2 Routinen für die Clock und thread_delay laufen im Betriebssystem ab.
> Das heist, sie sind für den Anwender nicht sichtbar. Aber man kann den Vektor
> "verbiegen" und so den Timer2 mitnutzen.

Ja, genauso ist es.

Gruss Peter

> Auf der Seite 154 im Handbuch ist ja das Beispiel:
> int cnt;
> void ISR(void)
> {
> int irqcnt;
> cnt=cnt+1;
> irqcnt=Irq_GetCount(INT_TIM2COMP);
> }
> void main(void)
> {
> cnt=0;
> Irq_SetVect(INT_TIM2COMP,ISR);
> while(true); // Endlosschleife
>
> GruÃ?
> Ellen
>
>
>
>
> > > Hallo PeterS,
> > > das ist ja einfach genial. Ich habe Erfahrungen mit der CC1 und kenne die sehr gut.
> > > Aber die Pro ist schon eine andere Kategorie Controller.
> > >
> > > Noch eine Frage:
> > > Wenn ich den Timer2 schon "verbraucht" habe für die Uhr, besteht die Möglichkeit
> > > sich in diese 10 ms Interruptroutine "einzuklinken, zB. Für eine zyklische Portabfrage o.ä.?
> > > Ellen
> >
> > Ja natürlich, das geht. Die Interruptroutine ist noch frei.
> >
> > Gruss Peter
> >
> > >  
> > >
> > >
> > >
> > > > > Hallo liebe Experten,
> > > > > bin beim Studium des Handbuches wieder auf etwas gestoÃ?en:
> > > > >
> > > > > Beide Funktionen benutzen den Timer2,
> > > > > der für beide Funktionen auf 10ms Interrupt eingestellt ist.
> > > > >
> > > > > Kann man diese beiden Funktionen gemeinsam in einem Programm
> > > > > benutzen und aufrufen????
> > > > >
> > > > > Ich meine: Die Uhr ist wichtig und Thread_delay ebenso.
> > > >
> > > > Hallo Ellen,
> > > >
> > > > die Software Uhr und das Thread_Delay werden durch eine interne Interruptroutine von Timer 2
> > > > gesteuert. Beide Funktionen können GLEICHZEITIG genutzt werden. Sollte man aber Timer 2 abschalten
> > > > dann funktionieren Software Uhr und Thread_Delay beide nicht mehr.
> > > >
> > > > Gruss Peter
> > > >
> > > > >
> > > > > Laut Handbuch IDE nur mit Einschränkungen, aber welche:
> > > > >
> > > > > void Thread_Delay(word delay);
> > > > > ===============================
> > > > > Hiermit wird ein Thread für eine bestimmte Zeit auf "schlafend"
> > > > > geschaltet. Nach dem angegebenen Zeitraum ist er wieder für die
> > > > > Abarbeitung bereit. Der Zeitraum wird in Ticks angegeben,
> > > > > die von Timer 2 erzeugt werden. Wird Timer 2 abgeschaltet oder
> > > > > für einen anderen Zweck gebraucht, ist die Funktionsweise von
> > > > > Thread_Delay() undefiniert.
> > > > >
> > > > >
> > > > > Softwareuhr (clock)
> > > > > ===================
> > > > > Die interne Software Uhr wird durch den 10ms Interrupt von Timer2
> > > > > getaktet. Es können Uhrzeit und Datum gesetzt werden,
> > > > > die ab diesem Zeitpunkt selbständig weiterlaufen.
> > > > >
> > > > >
> > > > > mfg
> > > > > Ellen


    Antwort schreiben


Antworten: