AD data, the buffer size must large than the number of AD conversion.

In DOS environment, please make sure this memory is double -word alignment. Every 16-bit unsigned integer data in ad_buffer:

D11 D10 D9

.......................D1 D0

C3 C2

C1 C0

D11, D10, ..., D1, D0 : A/D converted data

C3, C2, C1, C0 : converted channel no.

memID(Windows-95) :the memory ID of the allocated system DMA memory to act as the circular buffer. In Windows 95 environment, before calling W_9112_ContDmaStart, W_9112_Alloc_DMA_Mem must be called to allocate a contiguous DMA memory. W_9112_Alloc_DMA_Mem will return a memory ID for identify the allocated DMA memory, as well as the linear address of the DMA memory for user to access the data. The format of the A/D data is the same as DOS buffer (ad_buffer argument).

c1 : the 16-bit timer frequency divider of timer channel #1

c2 : the 16-bit timer frequency divider of timer channel #2

uReturn Code

ERR_NoError,ERR_BoardNoInit,

ERR_InvalidADChannel, ERR_AD_InvalidRange,

ERR_InvalidTimerValue

uExample

See Demo Program 'AD_DEMO5.C'

5.18 _9112_CheckHalfReady

uDescription

When you use _9112_ContDmaStart() to convert A/D data then you must use _9112_CheckHalfReady() to check data ready or not in the circular buffer, size of data is half of the circular buffer (count/2) and using _9112_DblBufferTransfer() to get data.

uSyntax

Visual C++ (Windows-95)

int W_9112_CheckHalfReady (int card_number, int * halfReady)

Visual Basic (Windows-95)

int W_9112_CheckHalfReady (ByVal card_number As Long, halfReady As Long) As Long

C/C++ ( DOS)

int _9112_CheckHalfReady(int card_number, int *halfReady )

56 C/C++ Library

Page 64
Image 64
HP manual 18 9112CheckHalfReady, 56 ∙ C/C++ Library