资源简介
基于labCVI的波形发生器源码,此代码运行在labCVI 2013版本中,通过前面板的选择可以产生不同波形的数据,波形数据具有保存为文本文件和回放功能

代码片段和文件信息
#include
#include
#include
#include
#include “Wave.h“
static int SamplingRate=1;
static int panelHandle;
double data[1024];
int main (int argc char *argv[])
{
if (InitCVIRTE (0 argv 0) == 0)
return -1; /* out of memory */
if ((panelHandle = LoadPanel (0 “Wave.uir“ PANEL)) < 0)
return -1;
DisplayPanel (panelHandle);
RunUserInterface ();
DiscardPanel (panelHandle);
return 0;
}
int CVICALLBACK SamplingRateCB (int panel int control int event
void *callbackData int eventData1 int eventData2)
{
switch (event)
{
case EVENT_VAL_CHANGED:
GetCtrlVal (panelHandle PANEL_NUMERICDIAL &SamplingRate);
break;
}
return 0;
}
int CVICALLBACK QuitCB (int panel int control int event
void *callbackData int eventData1 int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
QuitUserInterface (0);
break;
}
return 0;
}
int CVICALLBACK WaveFunCB (int panel int control int event
void *callbackData int eventData1 int eventData2)
{
double phase;
int wave;
int period;
double value;
switch (event)
{
case EVENT_COMMIT:
//读取波形参数
GetCtrlVal (panelHandle PANEL_NUMERICKNOB_V &value);
GetCtrlVal (panelHandle PANEL_NUMERICKNOB_T &period);
//读取波形
GetCtrlVal (panelHandle PANEL_RINGSLIDE &wave);
//产生波形
phase=1.0;
switch (wave)
{
case 0: //产生正弦波
SineWave (1024 value 1.0/period &phase data);
break;
case 1: //产生方波
SquareWave (1024 value 1.0/period &phase 50.0 data);
break;
case 2: //产生三角波
TriangleWave (1024 value 1.0/period &phase data);
break;
case 3: //产生锯齿波
SawtoothWave (1024 value 1.0/period &phase data);
break;
case 4: //无
Clear1D (data 1024);
break;
default:
break;
}
//显示波形
DeleteGraphPlot (panelHandle PANEL_GRAPH -1 VAL_IMMEDIATE_DRAW);
PlotWaveform (panelHandle PANEL_GRAPH data 1024 VAL_DOUBLE 1.0 0.0 0.0 1.0/SamplingRate VAL_THIN_LINE VAL_EMPTY_SQUARE VAL_SOLID 1 VAL_RED);
break;
}
return 0;
}
int CVICALLBACK WaveSaveCB (int panel int control int event
void *callbackData int eventData1 int eventData2)
{
FILE *fp;
switch (event)
{
case EVENT_COMMIT:
//创建并打开文件
fp = fopen (“data.txt“ “wb“);
//保存波形数据
fwrite (data sizeof(double) 1024 fp);
//关闭文件
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3938 2014-11-28 15:04 LWCVI波形发生器\作业一\Wave.c
文件 2552 2014-11-28 15:04 LWCVI波形发生器\作业一\Wave.h
文件 11041 2014-11-25 16:50 LWCVI波形发生器\作业一\Wave.prj
文件 9352 2014-11-28 15:07 LWCVI波形发生器\作业一\Wave.uir
目录 0 2014-11-28 15:08 LWCVI波形发生器\作业一
目录 0 2015-05-15 14:35 LWCVI波形发生器
----------- --------- ---------- ----- ----
26883 6
- 上一篇:aodv 协议运行过程流程图
- 下一篇:TCA785(单相触发)-datasheet
相关资源
- DAC0832波形发生器幅值及频率都精确可
- CVI下的TCP服务器和客户端
- Labwindows/CVI下Excel打开、读写操作
- 任意波形发生器
- 基于深度学习的图像超分辨率算法论
- AUSPLINE 插值程序 arcview插件
- PDFXCview破解版
- 单片机波形发生器 lcd显示出来
- 基于FPGA的任意波形发生器硬件系统设
- LabWindows/CVI调用DLL实用例程
- 单片机课程设计多波形发生器
- Labwindow_cvi TCP UDP通信例程
- FPGA波形发生器程序VHDL
- stm32 波形发生器程序
- 用VHDL语言FPGA实现波形发生器
- FPGA波形发生器
- LabWindows CVI之无驱摄像头使用-;远程监
- CVI教程比较全面)
- 基于STM32和AD9850的波形发生器2012
- 基于51单片机的波形发生器带仿真
- 王建新《Labwindows CVI虚拟仪器高级应用
- 带中文的一整套CVI教程
- 波形发生器 2011国赛
- 51单片机波形发生器设计,正弦波、三
- [2003].基于LabWindows.CVI 的虚拟仪器设计
- Lab Windows_CVI逐步深入与开发书pdf文档
- 微机接口设计实验
- 多波形发生器设计
- 波形发生器
- 基于STC12C5A60S2的波形发生器
评论
共有 条评论