LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Register and Memory access from LabVIEW

OK, I know it goes against the whole grain of quarantined applications
programming, but I have found it useful in exploring poorly described
hardware or dealing with slow PCMCIA DAQ cards (or their even slower
handlers) to fiddle the device registers directly from LabVIEW. Sounds a
bit unlikely, but ordinary LabVIEW vis using Port Read and Port Write nodes
are capable of quicker, simpler and more flexible transfers than the
official drivers of, for example Data Translation's DT7101 DAQ card.
Similarly, in attempting to achieve useful gapless data acquisition through
a sound card, I have used direct register access to explore the hardware
fitted (but not described) in a DELL portable. I attach an example of this
code
... beware! The machine may crash and need rebooting if you don't enter
the correct base address which can usually be determined (but not for my
sound chip) from the Windows ControlPanel /System /..... /Properties
/Resources/Address Range. Also note that the code is exploratory and not
intended as part of a real application, despite the Error In..Error Out
formalities. Use the CTRL H help window to see control descriptions..this
is all you get by way of documentation, apart from the diagram.

If we could also program the DMA Controller registers to point to LabVIEW
variables, or find out where various Config.vi s allocate their buffers,
then we could really get things to work (or crash) from LabVIEW. Does
anybody know how to find the RAM addresses of LabVIEW entities? Or write
LabVIEW interrupt handlers? Lets be really subversive and reclaim the I/O
power and flexibility we once enjoyed under DOS, without abandoning these
glorious newfangled graphics.


[Attachment ESS_Registers.llb,
see below]


[See first answer for additional information]
0 Kudos
Message 1 of 2
(2,780 Views)
[Attachment(s) for question]
0 Kudos
Message 2 of 2
(2,780 Views)