l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
December 2: Social gathering
Next Installfest:
TBD
Latest News:
Nov. 18: Club officer elections
Page last updated:
2006 Apr 04 13:16

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
[vox-tech] Must a 300 microsecond delay keep the CPU busy?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vox-tech] Must a 300 microsecond delay keep the CPU busy?




Dear Group,

I'm writing a C program on my Debian system to read from an interface board through the parallel port. I need to wait at least 300 microseconds before reading from the next channel, to give the A/D converter on the board time to stabilize, but I don't want to wait much longer (e.g., 10 milliseconds) because it will make the program too slow. The delay functions (usleep, nanosleep...) only provide delays down to 10-30 milliseconds, despite their name, because they apparently yield the CPU to other tasks with every call. The best solution I've found it to read (or write) to a port (e.g., 0x80), which takes one microsecond. By doing this 300 times, I get something close to the wanted delay, plus a little because of time sharing, but it is good enough. The only thing I don't like is that my process takes about 97% of the CPU, even though it spends almost all its time waiting. The CPU is a fanless 386, and it runs pretty hot at 97% usage. Is there an elegant solution to this, or should I look for a CPU fan? I would like to leave this a time-sharing system.

Thanks,

Chris
_______________________________________________
vox-tech mailing list
vox-tech@lists.lugod.org
http://lists.lugod.org/mailman/listinfo/vox-tech



LinkedIn
LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
facebook
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
Appahost Applications
For a significant contribution towards our projector, and a generous donation to allow us to continue meeting at the Davis Library.