⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 温度采集 .txt

📁 搜集的一款LABWINDOWS/CVI温度采集显示用户界面设计源程序.
💻 TXT
字号:
#include <utility.h>
#include <analysis.h>
#include <ansi_c.h>
#include <cvirte.h>		
#include <userint.h>
#include "温度.h"

//定义面板句柄变量
static int panelHandle;		             

//主函数 
int main (int argc, char *argv[])		 
{
	//初始化CVI运行时引擎
	if (InitCVIRTE (0, argv, 0) == 0)   
		return -1;	/* out of memory */
	
	//装载用户面板
	if ((panelHandle = LoadPanel (0, "温度.uir", PANEL)) < 0)
		return -1;
	
	//显示面板
	DisplayPanel (panelHandle);
	
	//运行界面程序
	RunUserInterface ();

	//删除面板
	DiscardPanel (panelHandle);
	
	//如果成功,则返回0
	return 0;
}

int CVICALLBACK Acquire (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	static double max,min;
	static int max_index,min_index;
	int i,j,value;
	
	//定义信号采样数据点数组
	double datapoints[100];
	switch (event)
	{
		//控件所响应的事件
		case EVENT_COMMIT:
			
			//获得控件值
			GetCtrlVal (panelHandle, PANEL_BINARYSWITCH, &value);
			if (value==1)
			{
				//设置控件值
				SetCtrlVal (panelHandle, PANEL_LED, 1); 
				SetCtrlAttribute (panelHandle, PANEL_LED, ATTR_LABEL_TEXT, "开");
				for (i=0; i<100; i++)
			    {
				   //产生随机数
				   datapoints[i]=100*rand()/32767.0;
				   
				   //延时0.01秒
				   Delay (0.01);
			       SetCtrlVal (panelHandle, PANEL_NUMERICTHERM, datapoints[i]);
				   
				   //绘图
				   PlotStripChartPoint (panelHandle, PANEL_STRIPCHART, datapoints[i]);
				} 
				
				//获得1维数组的最大与最小值
				MaxMin1D (datapoints, 100, &max, &max_index, &min, &min_index);
				SetCtrlVal (panelHandle, PANEL_NUMERIC, max);
				SetCtrlVal (panelHandle, PANEL_NUMERIC_2, min);
				
				//当数据产生完毕后,关闭“开始采样”开关
				SetCtrlVal (panelHandle, PANEL_BINARYSWITCH, 0);
				SetCtrlVal (panelHandle, PANEL_LED, 0);
				SetCtrlVal (panelHandle, PANEL_NUMERICTHERM, 0.00);
				SetCtrlAttribute (panelHandle, PANEL_LED, ATTR_LABEL_TEXT, "关");
			}
			else
			{
				//关闭LED
				SetCtrlVal (panelHandle, PANEL_LED, 0);	
				SetCtrlVal (panelHandle, PANEL_NUMERICTHERM, 0.00); 
				SetCtrlAttribute (panelHandle, PANEL_LED, ATTR_LABEL_TEXT, "关");
			}
		break;	
	}		
	return 0;
}

int CVICALLBACK Quit (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
			
			//退出用户界面
			QuitUserInterface(0);
			break;
	}
	return 0;
}

⌨️ 快捷键说明

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