本篇文章主要让大家进一步熟悉lab windowscvi的编程思路。
我们就利用信号发生器输出稳定的正弦波,并用开发板采集,再用lab windowscvi的的控件进行波形显示。
实验步骤:
1. 打开cvi软件,新建项目。连接开发板。
2. 在控件面板放入一个graph控件,一个timer控件以及两个square command button控件。并修改label命名,如图1。
3. 运行library→generate→ all code打开编程界面,选择“退出”按钮作为程序的关闭控件。在“开始”按钮的callback函数前定义一个整形变量w,赋值为0。并写入一个if循环。当w值等于0时,令w重新赋值为1,同时打开开发板,启动timer控件函数,将“开始”按钮标签文本改写为暂停,并写入单通道ad连续采集设置并启用ad采样函数adcontinuconfigv12(int ad_mod,int chan,int gain,int rate_sample);函数具体用法可参见《usb数据采集卡使用说明书》。此处我们设置用端口ad1进行采集。另一方面else条件下则重新将w值置0,退出timer函数,将“开始”按钮标签文本改写为继续,写入停止采集函数adcontinustopv12(void);然后关闭开发板,代码如图2。
4. 在timer控件的callback函数下定义一个整形变量y和一个单精度浮点型数组z[512]。写入查询采样数据函数getadbuffsizev12(void);并赋值给y,并写入一个if循环对y的值进行判断。当y采样得到的数据数量大于512份时,利用回读函数readadbuffv12(float* databuf,int num);读取512份数据并存入数组z中,并用graph控件显示,如果数据量不足则只清空graph控件为显示新一轮数据做准备。代码如图3。
5.利用信号发生器输出50hz的正弦波信号,将信号输入端口ad1并接地,运行程序,效果如图4。
这样我们成功使用采样函数adcontinuconfigv12(int ad_mod,int chan,int gain,int rate_sample)采集到了信号发生器输出的正弦信号并用回读函数readadbuffv12(float* databuf,int num)读取。
需要注意的是在用“开始”按钮运行了函数openusbv12(void)打开开发板后,一定要有控件调用将其关闭的函数closeusbv12(void)。否则每次点击“开始”按钮都会使开发板重复开启。采样函数adcontinuconfigv12()同理,使用完一定要写入停止采集函数adcontinustopv12(void)。
PCB板有铅喷锡与无铅喷锡的差别在哪里
铜基板和铝基板区别
为什么电动汽车实际充电时间比厂家数据要长
毫米波(mmWave):频段之战
由于开办涉案电话卡数量较多,这36个通信运营商营业网点被曝光
Lab WindowsCVI连接硬件进行单通道AD连续采集并采样
华为nova5 Pro首发简单评测 人像超级夜景自拍很有些看头!
Maxim Integrated锂离子电池监测器 现身日产混动版探路者
单片机存储器中提高层次的操作
在AGL中引入开源虚拟化
怎样用好电烙铁
E开箱: vivo NEX 3 5G来袭,瀑布屏是怎么样的?
风河发布NFV平台,加快高效虚拟CPE部署
基于示波器的射频分析方法
上海BitSE公司成为了全球首家正在运行生产系统的区块链公司
IIR滤波器种类和设计
海天雄电子DJ101IA-01G规格
小米2和小米1s的区别_小米2和小米1s对比
OPPO Find X7 系列手机将于下月发布,搭载两款传感器首发
QLC闪存未来将更廉价 1TB硬盘仅300元出头