www.pudn.com > LabWindowsCVI.rar > sample11_ai.c


#include  
#include "Dataacq.h" 
#include  
void main(void) 
{ 
    //定义变量 
    short iStatus = 0;                           //函数返回值          
    double dSampRate = 1000.0;                   //采样率      
    short iUnits = 0;                            //采样率单位 
    short iSampTB = 0;                           //时间单位 
    unsigned short uSampInt = 0;                 //时间间隔 
 
    short iDevice = 1;                           //采样设备ID号 
    short iChan = 1;                             //采样通道号 
    short iGain = 1;                             //采样增益 
    short piBuffer[100] = {0};                   //采样数据 
    unsigned long ulCount = 100;                 //采样长度 
 
    short iDAQstopped = 0;                       //采样状态 
    unsigned long ulRetrieved = 0;               //已采数据长度 
 
    double dGainAdjust = 1.0;                    //数据转换增益 
    double dOffset = 0.0;                        //数据转换偏移量 
    double pdVoltBuffer[100] = {0.0};            //转换的double型数据 
 
    //由采样频率获得抽样间隔时间及其单位 
    iStatus = DAQ_Rate(dSampRate, iUnits, &iSampTB, &uSampInt); 
     
    //从指定设备中的指定通道中读取数据 
    iStatus = DAQ_Start(iDevice, iChan, iGain, piBuffer, ulCount, 
                      iSampTB, uSampInt); 
     
    while ((iDAQstopped != 1) && (iStatus == 0)) { 
          //判断是否采集完毕 
          iStatus = DAQ_Check(iDevice, &iDAQstopped, &ulRetrieved); 
    } 
     
    //将采集结果从short型转换成double型 
    iStatus = DAQ_VScale(iDevice, iChan, iGain, dGainAdjust, dOffset, 
                        ulCount, piBuffer, pdVoltBuffer); 
     
    //清除数据采集操作并重新初始化数据采集卡 
    iStatus = DAQ_Clear(iDevice); 
	     
    YGraphPopup ("Data", pdVoltBuffer, ulCount, VAL_DOUBLE); 
}