labwindows例子学习之四波生波器

来源:互联网 发布:约翰 巴丁 知乎 编辑:程序博客网 时间:2024/04/30 16:39
#include <ansi_c.h>#include <cvirte.h>        #include <userint.h>#include "bxq.h"static int panelHandle;double datapoints[100];int main (int argc, char *argv[]){    if (InitCVIRTE (0, argv, 0) == 0)        return -1;    /* out of memory */    if ((panelHandle = LoadPanel (0, "bxq.uir", PANEL)) < 0)        return -1;    DisplayPanel (panelHandle);    RunUserInterface ();    DiscardPanel (panelHandle);    return 0;}int CVICALLBACK AcquireData (int panel, int control, int event,        void *callbackData, int eventData1, int eventData2){    int i;    int trace_color, shape;    if ( event == EVENT_COMMIT)    {        GetCtrlVal(panelHandle, PANEL_WFM, &shape);        switch (shape)        {            case 0:                for ( i=0; i<100; i++)                    datapoints[i] = 50*sin((((2*3.14159268536)/100)*i))+50;                break;            case 1:                for (i=0; i<33; i++)                    datapoints[i] = 33.0;                for (i=33; i<67; i++)                    datapoints[i] = 67.0;                for (i=67; i<100; i++)                    datapoints[i] = 33.0;                break;            case 2:                for (i=0; i<25; i++)                {                    datapoints[i] = i*4;                    datapoints[i+25] = 100-(i*4);                    datapoints[i+50] = i*4;                    datapoints[i+75] = 100-(i*4);                }                break;            case 3:                for (i=0; i<100; i++)                    datapoints[i] = rand()/32767.0;                break;        }        GetCtrlVal(panelHandle, PANEL_COLOR, &trace_color);        DeleteGraphPlot(panelHandle, PANEL_GRAPH, -1, 1);        PlotY(panelHandle, PANEL_GRAPH,datapoints, 100, VAL_DOUBLE,            VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, trace_color);    }    return 0;}int CVICALLBACK Shutdown (int panel, int control, int event,        void *callbackData, int eventData1, int eventData2){    switch (event)    {        case EVENT_COMMIT:            QuitUserInterface (0);            break;    }    return 0;}

其他文件见我上传文件labwindows1
0 0
原创粉丝点击