📄 dzmiusb20.c
字号:
#include <analysis.h>
#include <cvirte.h>
#include <userint.h>
#include "dzmiUSB20.h"
#include <windows.h>
#include <CyUsbDll.h>
static int panelHandle;
int main (int argc, char *argv[])
{
if (InitCVIRTE (0, argv, 0) == 0)
return -1; /* out of memory */
if ((panelHandle = LoadPanel (0, "dzmiUSB20.uir", PANEL)) < 0)
return -1;
DisplayPanel (panelHandle);
RunUserInterface ();
DiscardPanel (panelHandle);
return 0;
}
int CVICALLBACK PanelCallback (int panel, int event, void *callbackData,
int eventData1, int eventData2)
{
switch (event)
{
case EVENT_GOT_FOCUS:
break;
case EVENT_LOST_FOCUS:
break;
case EVENT_CLOSE:
QuitUserInterface (0);
break;
}
return 0;
}
int CVICALLBACK QuitCallback (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
SetCtrlAttribute (panelHandle, PANEL_TIMER, ATTR_ENABLED, 0);
QuitUserInterface (0);
break;
}
return 0;
}
int CVICALLBACK PlotCallBack (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
SetCtrlAttribute (panelHandle, PANEL_TIMER, ATTR_ENABLED, 1);
break;
}
return 0;
}
int CVICALLBACK dzmiTimer (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
unsigned char ReadBuff[8];
unsigned char SendBuff[4];
int i;
int dataAD[4];//4路同步采集
double *mvVol=NULL;//指针一定要赋值 ;
int PerLsbVolt = 610 ; //求出单位Lsb分配的电压值为610uV
SendBuff[0]= 1;
SendBuff[1]= 0;
SendBuff[2]= 0;
SendBuff[3]= 0;
switch (event)
{
case EVENT_TIMER_TICK:
i = SendData(4, SendBuff); //此处应加入传输成功及退出程序.
i = ReceData(8, ReadBuff);
for(i=0;i<4;i++)
dataAD[i]=(256*ReadBuff[2*i]+ReadBuff[2*i+1]);//将高低两个字节合成一个十进制数
//*mvVol=(double)((((dataAD[1-1])^0x2000)&0x3fff) * PerLsbVolt - 5000000)/1000; //取通道1
PlotWaveform (panelHandle,PANEL_GRAPH1, dataAD, 4, VAL_INTEGER,1,0,0,1,VAL_THIN_LINE,VAL_EMPTY_SQUARE,VAL_SOLID, 1,VAL_RED);
break;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -