www.mikrocontroller.net

Forum: Compiler & IDEs Timer läuft nicht 100% richtig !!


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: kosmonaut pirx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
weil vollkommen falsches forum nur ein stichwort: echtzeitfähigkeit von 
normal-linux.
gut, das waren schon drei.
bye kosmo

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja, das ist auch ne Antwort !
Dann lass ich nächste mal den Hinweis "Linux BS" weg!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin wrote:
> Tja, das ist auch ne Antwort !
> Dann lass ich nächste mal den Hinweis "Linux BS" weg!


Das ändert auch nichts daran, dass deine Frage in einem
dezidiertem Linux Forum besser aufgehoben ist.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok!
Dann werde ich mal mit dem posten
aufhören und meinen Beitrag beenden!!

Es hätte zufälligerweise jemand da sein können, der sich mit so einem 
Problem auskennt!

FG Martin

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso gehst du dem Hinweis "echtzeitfähigkeit von normal-linux" nicht 
nach?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.