资源简介
基于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
相关资源
- luvcview_20070512.tar.gz
- 基于FPGA任意波形发生器
- LabWindows_CVI调用外部程序的六种方法源
- 波形发生器 VHDL
- NI LabWindows CVI 中文教材
- NI License Activator 1.2
- 用protues仿真的按键式波形发生器
- 基于proteus的波形发生器设计
- LabWindows CVI 3D graph控件编程
- 0832 微机原理的 A/D转换 波形发生器
- 多种波形发生器 的电路仿真 pcb
- 基于FPGA波形发生器和扫频信号发生器
- QCVIEW可视化软件
- 基于51单片机和Proteus仿真的波形发生
- 简易波形发生器
- 基于Labwindows/CVI的虚拟示波器
- 基于单片机的五种波形发生器
- 51单片机_DAC0832_多波形发生器汇编频率
- 基于DAC0832的波形发生器
- 基于VHDL波形发生器
- Proteus8.6+8086+8255+DAC0832模拟波形发生器
- Cview软件,可直接打开CV测试原始数据
- Proteus模拟基于51单片机的波形发生器
- 基于FPGA的DDS波形发生器
- 波形发生器设计 数电课程设计 数字电
- LABWINDOWS/CVI9.0注册机
- 基于8086的波形发生器
- 全国电子设计大赛----波形发生器设计
- labwindows/cvi 串口信号发送与波形实时
- 微机原理/汇编语言 多功能信号/波形
评论
共有 条评论