08-13-2009 08:42 AM - edited 08-13-2009 08:44 AM
Hello?
Recently, I have an error message regarding DAQmxSetReadWaitMode() function. I used DAQmx_Val_WaitForInterrupt property but got an error saying that it is conflicting with property of DAQmx_Val_DMA. Since I don't use DMA mode and any function for DMA operation, I wonder DAQmx is using this DMA property automatically and enables DMA mode. If it is true, how can I use polling mode or interrupt mode manually? I used DAQmxSetAIDataXferMech() to set interrupt mode but it keeps returning it is conflicting with DAQmx_Val_DMA property. Is this error always occurring when a continuous sampling mode is on? Thanks,
Solved! Go to Solution.
08-17-2009 03:13 PM
Hi anarkie,
I found a KnowledgeBase article that I think might be helpful to you here. Please let me know if this was what you were looking for. If not, could you give me the exact error code that you get when it says it conflicts with a property of DAQmx_Val_DMA? Thanks!
08-18-2009 12:00 PM - edited 08-18-2009 12:07 PM
I got this message. My system is using an external DMI counter on PFI3 to check how long a service vehicle is driving. AO operation is used for user interface; the system displays a digitized AI waveform and whenever user wants to see a whole wave form, he can move a slide bar left to right or any direction which requires DAQmx AO task. This AI/AO operations never return any error before we enable DMI counter.
I wonder why I got this error when the DMI counter is enabled. Since this error message popped up, I have been testing my system with various DAQmx functions which I mentioned at my first post. Then it keeps returning some other errors regarding interrupt mode/DMA mode
Thanks,
08-19-2009 01:48 PM
Hi anarkie,
What hardware are you using? If you are using an E Series card, this is a limitation of the card because there is only one DMA channel available.
08-24-2009 11:03 AM
No, 6025E has 3 DMA channel as its manual says. Anyway, I've solved this problem by adding this code
Looks like DAQmx automatically uses DMA mode unless user manually adds codes for polling mode or on demand mode.
DAQmxErrChk (DAQmxSetSampTimingType(CounterHandle, DAQmx_Val_OnDemand));
DAQmxErrChk (DAQmxSetSampClkSrc(CounterHandle, "/Dev1/PFI3"));
DAQmxErrChk (DAQmxSetSampClkActiveEdge(CounterHandle, DAQmx_Val_Falling));