/*----------------------------------------------------------------------------*/ /* Company : ADLINK */ /* Date : 2008/08/11 */ /* */ /* This sample performs continuous digital output to DO port with DMA. */ /*----------------------------------------------------------------------------*/ #include #include #include #include #include #include "dask.h" #define WRITECOUNT 4000 #define TIMEBASE 80000000 #define SAMPRATE 4000 int main(int argc, char **argv) { I16 card, err; U16 card_num; U16 ConfigCtrl = P922x_DO_CONVSRC_INT; U16 TrigCtrl = P922x_DO_TRGMOD_POST|P922x_DO_TRGSRC_SOFT; U32 ReTrgCnt = 0; //Not used in non-retrigger mode U32 DLY1Cnt = 0; //Not used in post trigger mode U32 DLY2Cnt = 0; //No used in 922x do BOOLEAN AutoResetBuf = 1; //Auto reset buffer descriptors built in driver U32 W_Buffer[WRITECOUNT]; //Data buffer to be written U32 WriteCount = WRITECOUNT; //Output count U16 BufferId; U16 Port = 0; //Only one DO port U16 Iterations = 1; //922x has no output repeats of digital output F64 SampleRate = SAMPRATE; BOOLEAN Stopped; U32 AccessCnt = 0; U32 vi; for(vi=0; vi