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 ER - 10.07.2009 16:29)
Als Antwort auf Re: Funktion thread_delay und Softwareuhr von PeterS - 6.07.2009 15:55

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.
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:

Re: Funktion thread_delay und Softwareuhr (von PeterS - 10.07.2009 18:01)