Timer läuft nicht 100% richtig !!

Gast #562391
Lesenswert?

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

myTime.it_value.tv_sec     =  0;
myTime.it_value.tv_usec    =  100000; // 100ms

myTime.it_interval.tv_sec  =  0;
myTime.it_interval.tv_usec =  100000; // 100ms

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

Dieser Timer soll alle 100ms 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 200ms.
Aber wie kann das ?!

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

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?

Mfg Martin

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren