5.17 _9112_ContDmaStart

uDescription

The function will perform A/D conversion continuous with DMA data transfer. It will takes place in the background which will not be stop until your program execute _9112_ContDmaStop() function to stop the process.

After executing this function, it is necessary to check the status of double buffer by using the function _9112_CheckHalfReady() and using _9112_DblBufferTransfer() to get the A/D converted data.

There is a group function for continuous A/D conversion using DMA as following:

_9112_ContDmaStart();

_9112_CheckHalfReady(); _9112_DblBufferTransfer(); _9112_GetOverrunStatus(); _9112_ContDmaStop();

uSyntax

Visual C++ (Windows-95)

int W_9112_ContDmaStart (int card_number, int auto_scan, int ad_ch_no, int ad_range, int count, HANDLE memID, int c1, int c2)

Visual Basic (Windows-95)

W_9112_ContDmaStart (ByVal card_number As Long, ByVal auto_scan As Long, ByVal ad_ch_no As Long, ByVal ad_range As Long, ByVal

count As Long, ByVal memID As Long, ByVal c1 As Long ByVal c2 As Long) As Long

C/C++ ( DOS)

int _9112_ContDmaStart (int card_number, int auto_scan, int ad_ch_no, int ad_range, int count , int *db_buffer, int c1, int c2)

uArgument

card_number : the card number of PCI-9112

auto_scan : TRUE or FALSE

Example1 : auto_scan is FALSE, ad_ch_no is 3. Using DMA mode to read A/D data only channel 3.

Example2 : auto_scan is TRUE, ad_ch_no is 3. Using DMA mode to read A/D data with multi-channel, channel 3, 2, 1 and 0. Reading sequence is channel 3,2,1,0, 3,2,1,0,3,2,1,0....

ad_ch_no : A/D channel number

ad_range : A/D analog input range, please refer to the section 4.3.8 for the possible values.

count : the number of A/D conversion

db_buffer(DOS): the start address of the circular buffer to store the

C/C++ Library 55

Page 63
Image 63
HP manual 17 9112ContDmaStart