comp.lang.c FAQ list
How can I access an I/O board directly?
At one level, at least, it's quite simple: you have a device
register which is actually wired up so that the bits written to
it get coverted to actual voltage levels in the real world that
you can do interesting things with.
In general, there are two ways to
get the bits in and out.
(A particular I/O board will
use one method or the other;
you'll need to consult its documentation for details.)
- If the device is accessed via a dedicated ``I/O port'',
use system-specific functions
to communicate with it.
Under MS-DOS, for example, there were quasistandard
``inport'' and ``outport''
- If the device uses ``memory-mapped I/O'',
if the device register(s) are accessed as if they were normal memory
at particular, known locations within the processor's addressing space,
use contrived pointer variables to access
See question 19.25.
about this FAQ list