Timer Problem

M

macke_a

Mitglied
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
 

Ähnliche Themen

Modulfehler?

Ubuntu X / dbus problem

Timer Problem

OpenSuse 11.1 USB Festplatte wird nicht erkannt

SDL applikation frisst speicher ohne ende

Zurück
Oben