Seite 1 von 1

Timer Problem

Verfasst: 20. Mai 2007 19:52
von macke_a
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

Verfasst: 21. Mai 2007 20:32
von Janka
Es reicht, wenn du einen Thread zu dem Thema aufmachst, am besten, gleich im richtigen Unterforum. Dort habe ich dir auch schon geantwortet.

Janka