[C++] timer (sleep)

Pagina: 1
Acties:

  • Servowire
  • Registratie: September 2000
  • Laatst online: 14-09 21:39

Servowire

prutser:~#

Topicstarter
Ik heb lang zitten zoeken, maar kan het niet vinden.
Ik ben aan het programmeren onder Linux in C++, en zoek een timer functie die in milliseconden kan tellen.

Ik kan er nergens wat over vinden |:(

met papier mache kun je alles maken!!


  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
dit kan misschien wel handig zijn:
http://www.meangene.com/notes/time.html

tot vrijdag! (?)

  • Servowire
  • Registratie: September 2000
  • Laatst online: 14-09 21:39

Servowire

prutser:~#

Topicstarter
Dat is toch voor tijd?

is er geen sleep() functie voor C++ (onder Linux dan)

Of kan dit niet omdat Linux niet realtime is?

met papier mache kun je alles maken!!


Verwijderd

Oi

weetnie of het werkt maar je kan de functie system proberen.

Bijv.

system("sleep 30"); doen

Maar weetnie of ie dat procedureel afvangt of dat hij alles tegelijk wil doen.

Probeer maar en laat ff weten?

  • TheMrH
  • Registratie: April 2000
  • Laatst online: 01-09 22:45
Je hebt sleep en usleep. De eerste doet het in seconden, de 2e in microseconden. Snel genoeg voor je?

The box said 'requires Windows 95 or better', so I installed Linux...


  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
Als er onder linux ook een systeemfunctie "usleep" bestaat;
dan is de broncode daarvan ook beschikbaar :)

  • Servowire
  • Registratie: September 2000
  • Laatst online: 14-09 21:39

Servowire

prutser:~#

Topicstarter
In welke header zit usleep(); ?

met papier mache kun je alles maken!!


Verwijderd

Op donderdag 20 december 2001 12:03 schreef Servowire het volgende:
In welke header zit usleep(); ?
man usleep

  • Servowire
  • Registratie: September 2000
  • Laatst online: 14-09 21:39

Servowire

prutser:~#

Topicstarter
Nooit geweten dat dat soort dingen man pages hadden :)

Anyweej, het wil niet echt lukken
Ik moet, om iets aan te sturen, een puls tussen de 1ms en 2ms afgeven via de parallele poort.

Ik gebruik hier outb(); voor, samen met usleep();

Toch wil het niet helemaal lukken, ik kan niet precies 2ms krijgen.

met papier mache kun je alles maken!!


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op donderdag 20 december 2001 18:46 schreef Servowire het volgende:
Toch wil het niet helemaal lukken, ik kan niet precies 2ms krijgen.
moet je man usleep eens goed lezen :)

Doet iets met Cloud (MS/IBM)


  • Servowire
  • Registratie: September 2000
  • Laatst online: 14-09 21:39

Servowire

prutser:~#

Topicstarter
Ja, maar kun je op een multitaskend OS als Linux wel zooo precies een pulse afgeven?

(b.v. precies 1.3ms)

met papier mache kun je alles maken!!


  • Valium
  • Registratie: Oktober 1999
  • Laatst online: 11-09 23:37

Valium

- rustig maar -

Omdat je te maken hebt met een multitaskend OS kun je niet 100% gegarandeerd 2ms pulsjes krijgen. e kunt wel je Proces voorrang geven met nice. Dan kun je via usleep 99% van de gevallen wel die 2ms krijgen.

Ook zou je een realtime patch kunnen gebruiken om Linux realtime-eigenschappen te geven.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op donderdag 20 december 2001 18:57 schreef Servowire het volgende:
Ja, maar kun je op een multitaskend OS als Linux wel zooo precies een pulse afgeven?

(b.v. precies 1.3ms)
dat staat dus ook al in die man page
Probably not accurateon many machines down to the
microsecond. Count on precision only to -4 or maybe -5.

Doet iets met Cloud (MS/IBM)

Pagina: 1