Hello!
I use the PCI-6534 and Visual C++ 6.0.
I send a pattern of Data into the memory of the NI-card and use the onboardloop to send it cyclical.
But sometimes I want to do changes in the pattern and update the data. So I call DIG_Block_Clear and send the updated pattern with DIG_Block_Out to the card again. The problem is, that the pattern should be updated only when the old pattern is sended out by the card completely. So before I update the old pattern I use DIG_Block_Check to guarantee that the old pattern is sended completely before I call DIG-Block_clear. Like this:
while ((ulRemaining != 0) && (iStatus == 0))
{
iStatus = DIG_Block_Check(iDevice,iInGroup,&ulRemaining);
iRetVal = NIDAQYield(iYieldON);
}
iRetVal = NIDAQEr
rorHandler(iStatus, "DIG_Block_Check", iIgnoreWarning);
iStatus = DIG_Block_Clear(iDevice, iGroup);
iStatus = DIG_Block_Out(iDevice, iGroup, piBuffer, ulCount);
iRetVal = NIDAQErrorHandler(iStatus, "DIG_Block_Out", iIgnoreWarning);
But DIG_Block_Check does never return 0 so the program stays in the while-loop forever.
I don't know, where the error is. I hope someone can help me. Thank you.