2-3.c

来自「cvi编程举例」· C语言 代码 · 共 106 行

C
106
字号
#include "toolbox.h"
#include <analysis.h>
#include <cvirte.h>		
#include <userint.h>
#include "2-3.h"
static int GraphHandle;
static double sinData[1024];

int CVICALLBACK EventFunction1 (int panelOrMenuBarHandle, int controlOrMenuItemID, int event, void *callbackData, int eventData1, int eventData2);

static int panelHandle;

int main (int argc, char *argv[])
{
	if (InitCVIRTE (0, argv, 0) == 0)
		return -1;	/* out of memory */
	if ((panelHandle = LoadPanel (0, "2-3.uir", PANEL)) < 0)
		return -1;
	DisplayPanel (panelHandle);
	RunUserInterface ();
	DiscardPanel (panelHandle);
	return 0;
}

int CVICALLBACK quit (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
			QuitUserInterface (0);
			InstallMainCallback (NULL, 0, 0);
			
			break;
	}
	return 0;
}


int CVICALLBACK graph (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
			SinePattern (1024, 1.0, 0.0, 2.0, sinData);		//产生2个周期的正弦波数据
			GraphHandle = PlotY (panelHandle, PANEL_GRAPH, sinData, 1024, VAL_DOUBLE, VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_BLUE);

			break;
	}
	return 0;
}

int CVICALLBACK stripchart (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:

			InstallMainCallback (EventFunction1, 0, 1);   //安装主回调函数
			SetIdleEventRate (100);					  //设置主回调函数响应时间
			
						
			break;
	}
	return 0;
}

int CVICALLBACK digitalgraph (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	int aa[12]={0,2,3,5,0,15,0,9,10,0,1,6};
	switch (event)
	{
		case EVENT_COMMIT:
			PlotDigitalLines (panelHandle, PANEL_DIGGRAPH, aa, 12, VAL_INTEGER, 3);

			break;
	}
	return 0;
}

int CVICALLBACK EventFunction1 (int panelOrMenuBarHandle, int controlOrMenuItemID, int event, void *callbackData, int eventData1, int eventData2)
{
	double kk;
	kk=Random(0,100);
	PlotStripChartPoint (panelHandle, PANEL_STRIPCHART,kk );
	
	return 0;	
}



int CVICALLBACK StopStrip (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
			InstallMainCallback (NULL, 0, 1);
			break;
	}
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?