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 | ||
| ||
> 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: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum