Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > > > > 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 > >