Timer Problem

Software besorgen und anwenden
Antworten
Nachricht
Autor
macke_a

Timer Problem

#1 Beitrag von macke_a » 20. Mai 2007 19:52

Hallo !
Ich habe folgende Timer, der unter einem Linux BS läuft.

myTime.it_value.tv_sec = 0;
myTime.it_value.tv_usec = 10000; // 10ms

myTime.it_interval.tv_sec = 0;
myTime.it_interval.tv_usec = 10000; // 10ms

signal(SIGALRM, (void(*)(int)) handler);
setitimer(ITIMER_REAL, &myTime, NULL);

Dieser Timer soll alle 10ms ein Flag setzen.

void handler()
{ RX = 1; }

Mehr nicht !

Allerdings läuft der Timer relativ unruhig! Ich habe Abweichungen in
einem Bereich von bis zu 20ms,teilweise sogar 40ms oder 60ms
Aber wie kann das ?!

Würde ich den Timer mit einer Zeit im Sekunden Bereich einstellen, dann
arbeit er fast genau, Toleranz +/-1ms !!

myTime.it_value.tv_sec = 1;
myTime.it_value.tv_usec = 0;

myTime.it_interval.tv_sec = 1;
myTime.it_interval.tv_usec = 0;

Kann mir jemand helfen?
Oder gibt es eine andere Möglichkeit ein Intervall von 10ms zu programmieren?

Mfg macke_a

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#2 Beitrag von Janka » 21. Mai 2007 20:32

Es reicht, wenn du einen Thread zu dem Thema aufmachst, am besten, gleich im richtigen Unterforum. Dort habe ich dir auch schon geantwortet.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Antworten