Avatar billede rbjensen Nybegynder
04. januar 2004 - 00:34 Der er 7 kommentarer

mikrosekund delay

Hej.

Jeg har brug for at skrive til en parallel port med meget små intervaller, i nærheden af 25 uS, under Windows 2000, med Borland C++ Builder.
Hvordan får jeg en thread til at sove i så kort tid ?

Håber nogen kender nogle smarte tricks.

Regards,/DT
Avatar billede arne_v Ekspert
04. januar 2004 - 00:38 #1
Det tror jeg ikke at du kan opnå på et operativ system som Windows 2000.

:-(
Avatar billede zeebion Nybegynder
04. januar 2004 - 00:44 #2
Vil ikke love noget men ligner detteher ikke noget du kan bruge?
http://www.codeguru.com/misc/microsecond_delay.shtml
Avatar billede segmose Nybegynder
05. januar 2004 - 10:39 #3
Alt efter hvad du skal kan du evt. benytte noget callback eller events.
Det skulle ikke undre mig om du kan få et callback/event når sendbufferen er tom.
Avatar billede rbjensen Nybegynder
05. januar 2004 - 12:33 #4
zeebion: Jeg har prøvet med den angivne kode, med "QueryPerformanceCounter" samt med noget "SetEvent" - de to første æder samtlige systemressourcer da min tråd kører med High Priority, den sidste metode kan kun køre ned til ca. 1 millisekund, så sorry, men godt forsøg.

segmose: Jeg skulle gerne have et delay i stil med "sleep" (hvor min High Priority tråd holder sig fra CPU'en), ikke blot vente på at bufferen er tom...
Avatar billede segmose Nybegynder
05. januar 2004 - 15:17 #5
Hvilket kald bruger du til at kommunikere med parallelporten?
Avatar billede rbjensen Nybegynder
05. januar 2004 - 15:40 #6
segmose: Den eneste måde jeg har kunnet finde til at kommunikere med parallelporten under NT-baserede systemer er vha. Porttalk.sys fra http://www.beyondlogic.org
Avatar billede hsloth Novice
15. januar 2004 - 08:29 #7
Hvis du skriver en driver kan du bruge mikrosekund timing, f.eks. med rdtsc eller ved at sætte en timer.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester