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


#include  
#include  
#include 		/* Needed if linking in external compiler; harmless otherwise */ 
#include  
#include "sample11.h" 
 
#define MAX_CH_NUM 4 
#define SCAN_NUM 100 
 
static int panelHandle; 
unsigned long  numChannels; 
unsigned long  taskID; 
short          device; 
char           channelString[100]; 
double         waveform[MAX_CH_NUM*SCAN_NUM]; 
 
int main (int argc, char *argv[]) 
{ 
	if (InitCVIRTE (0, argv, 0) == 0)	 
		return -1;	 
		 
	if ((panelHandle = LoadPanel (0, "sample11.uir", PANEL)) < 0) 
		return -1; 
		 
	DisableBreakOnLibraryErrors(); 
	 
	DisplayPanel (panelHandle); 
	RunUserInterface (); 
	 
	EnableBreakOnLibraryErrors(); 
	return 0; 
} 
 
int CVICALLBACK TimerCallback (int panel, int control, int event, 
		void *callbackData, int eventData1, int eventData2) 
{ 
	int i; 
	unsigned long scanBacklog; 
	switch (event) 
		{ 
		case EVENT_TIMER_TICK: 
		 
            //获取已采集的数据长度 
            AICheckAcquisition (taskID, &scanBacklog); 
             
            //检查采集是否完毕 
            if (scanBacklog >= SCAN_NUM) 
            { 
                //读取数据 
                AIReadAcquisition (taskID, SCAN_NUM, LATEST_MODE, 
                                           &scanBacklog, GROUP_BY_CHANNEL, waveform); 
             
                //删除控件GRAPH上的所有曲线 
                DeleteGraphPlot (panel, PANEL_GRAPH, -1, VAL_DELAYED_DRAW); 
 
                //作曲线图 
                for (i=0; i