Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

PCI-DIO96

Hi
I was talking with PC-DIO96 card using outp and bits. On that I was using base address. Now i want to change with PCI-DIO96 card on that I am not able to set base address as it is plug and play. Could you please tell me what do i have to do in order to talk with card. How can I get base address. Is there any diff in PCDIO96 and PCI_DIO96 bit wise.
Thanks
0 Kudos
Message 1 of 6
(4,437 Views)
Hello,

With the PCI-DIO-96, you now have a pulg and play board, and do not need to specify the base address in software. All that you need to do is install NI-DAQ and then take a look at the following example program.

C:\Program Files\National Instruments\NI-DAQ\Examples\VisualC\Di\DIonePort.c

This example program will show the syntax for reading from a digital port using PCI-DIO-96 calls. You will notice that there is no reference to the base address, just the device number (from MAX).

Also, the traditional NI-DAQ function reference help can be found in the following location.

C:\Program Files\National Instruments\NI-DAQ\Docs\nidaqpc.chm

Just let us know if you have any further questions.

Best regards,

Justin T.
National Instruments
0 Kudos
Message 2 of 6
(4,437 Views)
Hello Justin,

Thanks for your response. Regarding my problem I need Base address in order to use inp(), outp() commands. Otherwise I have to change my whole program with new commands. Is there any way we can able to find Base address somehow from Bios or other way.

Thanks for your help
0 Kudos
Message 3 of 6
(4,437 Views)
Hello,

Using DAQ, we can get the base address. Here is pseudo code for calling the needed function.

Short iDevice = 1;
u32 base_address;

Get_DAQ_Device_Info (1, ND_BASE_ADDRESS, &base_address);

I am not 100% sure that you will have this function available, just let us know if this does not work and we will see if we can figure out what needs to be done.

Best regards,

Justin T.
National Instruments
0 Kudos
Message 4 of 6
(4,437 Views)
Hi Justin

Thanks, It is giving me memory base address. I want I/o base address.That value should be in hex value with 3-4 digits max. Can you please help me how I can able to find from Registry edit or with some registry programming. I am also not sure which node/key I have to call to get I/o base address.
Thanks
0 Kudos
Message 5 of 6
(4,437 Views)
Hello,

If you would like to know that I/O address of your board, you can find this information in the device manager. If you open up the device manager and choose VIEW>>Resource by Connection, you can see the I/O addresses of everything on your computer.

As far as getting the info from the registry, I am not sure where it is stored. However, you should be able to find some information under

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\PCI\

I would like to confirm that I am not sure if this will work, and it is not supported. However, if you are going to try this, it would be great if you could post a response here so that we will know how things worked out for future reference.

Good luck,

Justin T.
0 Kudos
Message 6 of 6
(4,437 Views)