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

Re: Timerverwendung in der Funktionsbiliothek ? Kategorie: Programmierung C (von Franz-Peter - 12.12.2011 23:24)
Als Antwort auf Re: Timerverwendung in der Funktionsbiliothek ? von Manfred_02 - 12.12.2011 22:55
Ich nutze:
C-Control Pro Mega32, C-Control Pro Mega128, CC-Pro 128 Application Board, Pro-Bot128
> > > > > 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


    Antwort schreiben


Antworten:

Re: Timerverwendung in der Funktionsbiliothek ? (von Manfred_02 - 13.12.2011 21:29)
    Re: Timerverwendung in der Funktionsbiliothek ? (von Franz-Peter - 13.12.2011 23:25)