Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

Error -10455 (No DMA Avail) with PCI6534

I'm developing a Traditional NIDAQ 7.0 application using Pattern I/O with a PCI6534 card, and during my debug cycle I often get error -10455 returned from DIG_Block_In or DIG_Block_Out. I suspect the NIDAQ driver isn't cleaning up properly, because the error goes away when I reboot. This card is a PCI bus master, so it shouldn't be using DMA channels. Any idea what would be causing this error? Could something my application is doing be causing it? Rebooting every few minutes is driving me crazy!

Thanks,
Graham
0 Kudos
Message 1 of 2
(3,198 Views)
Graham,

DMA transfers are much faster than interrupt-based transfers, especially for pattern I/O. By default, this board will be configured for DMA transfers instead of interrupt-based transfers. Unless you have specifically configured your board, in software, to perform interrupt-based transfers, you are most likely performing a DMA operation.

Since the DIG_Block_In or DIG_Block_Out calls will initiate the DMA transfer to/from the buffers this is where most DMA errors will be generated. I recommend examining and running some of our examples which ship with the NI-DAQ driver. Please look in the directory C:\Program Files\National Instruments\NI-DAQ\Examples\VisualC\Di or ..\Do for the examples titled, "DIdoubleBufPatternGen653x.C" or "DIsingleBufPatt
ernGen653x.C". Both of these examples will use Traditional NI-DAQ function calls. Please let me know if either one of these examples, or their digital output counterparts, generate the -10455 DMA error you are seeing.

Regards,
Justin Britten

Applications Engineer
National Instruments
0 Kudos
Message 2 of 2
(3,198 Views)