Re: Timerverwendung in der Funktionsbiliothek ? Kategorie: Programmierung C (von Manfred_02 - 13.12.2011 21:29) | ||
Als Antwort auf Re: Timerverwendung in der Funktionsbiliothek ? von Franz-Peter - 12.12.2011 23:24 | ||
| ||
> > > > > > Hallo, > > > > > > > > > > > > bevor der längere Text beginnt: > > > > > > Kann mir jemand mitteilen, welche Timer in welchen Funktionen verwendet werden? > > > > > > z.B. habe ich hier im Forum gelesen, dass Multithreading, Delay.. Timer benötigen. > > > > > > > > > > > > Zur Erklärung: > > > > > > Ich möchte eine eigene Zeitbasis in meinem C-Programm aufbauen. > > > > > > Damit möchte ich Warteschleifen in den Hauptroutinen vermeiden. > > > > > > Eigentlich ist es auch kein Problem.Ich habe aber festgestellt,dass > > > > > > es bei der gleichzeitigen Benutzung der fertigen Funktionen zu Kollisionen kommt, > > > > > > und meine Zeitbasis verändert wird. Es stehen 4 Timer zur Verfügung. > > > > > > Meine Frage: > > > > > > Welche Timer werden in welchen Funktionen genutzt und welche Timer wären > > > > > > für den eigenen Gebrauch frei ? > > > > > > > > > > > > > > > > > > Vielen Dank in Voraus > > > > > > > > > > > > Gru� > > > > > > Manfred > > > > > > > > > > > > > > > > > > > > > > Siehe Manual: > > > > > > > > > > "Es stehen im C-Control Pro Mega 32 zwei, Mega128 drei unabhängige Timer-Counter > > > > > zur Verfügung. Timer_0 mit 8 Bit und Timer_1 mit 16 Bit Timer_3 mit 16 Bit > > > > > (nur Mega128). Timer_2 wird von der Firmware als interne Zeitbasis verwendet, > > > > > und ist fest auf einen 10ms Interrupt eingestellt." > > > > > > > > > > Alle anderen Timer werden halt verändert, wenn Du die Timer Funktionen des > > > > > entsprechenden Timers benutzt. Da wären noch die Servoroutinen, aber in denen > > > > > gibt man explizit den Timer an der genutzt wird. > > > > > > > > > > Gruss Peter > > > > > > > > > > > > > Hallo Peter, > > > > > > > > vielen Dank für die schnelle Antwort. Werde es mal versuchen und dann berichten. > > > > > > > > > > > > Gu� > > > > Manfred > > > > > > > > > > > > > > > Hallo Manfred, > > > in meiner Steuerung benötige ich auch viele Zeit- und Wartefunktionen, kann aber keine Warteschleifen > > > einbauen, da die Steuerung viele Dinge parallel tun muss. > > > Ich verwende dafür den 10ms Interrupt, der vom System bereitgestellt wird. �ber entsprechende > > > Timer-Variable, die in dem 10ms IRQ hoch bzw. runtergezählt werden, lassen sich umfangreiche Zeit- > > > Funktionen aufbauen, ohne da� man einen zusätzlichen HW-Timer benötigt. > > > Wenn dir die 10ms Auflösung reicht, wäre das vielleicht auch ein Lösungsansatz für dich. > > > > > > Gru� > > > Franz-Peter > > > > Hallo Franz-Peter, > > > > eine 10ms Auflösung wäre für meien Anwendung ausreichend. Ich werde die Hauptroutinen so > > schreiben, dass keine Wartezeit vergeht. Ich habe es bisher mit Timer 3 ausprobiert. Ich > > decremetiere globale Varibalen in der Interruptroutine. Es ist eigentlich wie eine Sanduhr. Jede > > Anwendung hat ihre eigene Sanduhr. So brauche ich keine Differenzbildung machen. Die CPU laüft > > so mit guter Performance. > > > > Der 10ms IRQ läuft doch über Timer2. Wie erhältst du Zugang? Eine eigene Routine > > stört die implementierte Routine.? Andererseits wäre es nur sinnvoll keinen zweiten Timer mit der > > gleichen Frequenz laufen zu lassen. > > > > Gru� > > Manfred > > > > > Hallo Manfred, > du kannst selbst eine Interruptroutine auf den Timer 2 setzen. Du darfst nur die Initiierung nicht > verändern. In der Hilfe ist unter 'Bibliothek' -> 'Interrupt' sogar ein Beispiel dazu : Mit > Irq_SetVect(INT_TIM2COMP,ISR); > setzt du den Timer2 auf die IRQ Routine 'ISR', die dann automatisch alle 10ms aufgerufen wird. > Im Prinzip genauso, wie man es bei einem eigenen Timer auch macht, nur dass man eben den > System-Timer mitnutzt. > Ansonsten mache ich es im Prinzip genauso, dass ich in der IRQ-Routine globale Variable > herunterzähle. > > Gru� > Franz-Peter Hallo Franz-Peter, wenn ich eine eigene IRQ auf Timer2 setze, dann wird die IRQ der Firmware umgangen, oder? Ich wei� eben nicht, was ich da so anrichte, bzw was dann nicht mehr funktioniert. Vielleicht könnte Peter dazu etwas schreiben? @Peter, bitte schreib mal kurz ein paar Worte. Gru� Manfred | ||
Antwort schreiben Antworten: Re: Timerverwendung in der Funktionsbiliothek ? (von Franz-Peter - 13.12.2011 23:25) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum