利用Ginkgo 2的ADC实现虚拟示波器的功能

本文介绍如何利用Ginkgo 2的16路ADC和高达1M的采样率,结合600KByte/s的USB传输速度,实时上传数据到上位机。通过CVI(基于C语言的测试测量库)编写上位机程序,实现ADC初始化、定时读取采样值并在波形图上显示。程序还允许用户调整采样速度。附有程序源码供下载。
摘要由CSDN通过智能技术生成

说明:
Ginkgo 2有16路ADC,单路ADC采样率可达1M,Ginkgo 2 USB数据传输速度可达600KBye/s,所以完全有能力将数据快速的上传到上位机,Ginkgo 2 ADC主要用到ADC_Init()和ADC_ReadData()两个函数即可,调用方式很简单。上位机程序采用CVI来实现,CVI是NI专门基于测试测量出的一套类似于LABVIEW的库,不过这个库全部是C语言封装的,所以只要有C语言基础要入门上位机软件的编写很快(本人用CVI也才3天而已,所以有什么不对的地方敬请包含)。下面就说说程序实现的基本流程和方法。
程序实现:
1、程序首先初始化Ginkgo 2适配器的ADC模块,调用ADC_Init()函数即可,详细调用方法请参考程序源码。
2、开一个定时器实现定时读取ADC的采样值并将数据在波形图控件上显示,实现方式也只是调用一个函数而已。
3、设计一个可以更改采样速度参数的输入框,当这个输入框中的数据改变后就调用ADC_Init()初始化函数重新设置适配器的采样周期。
程序界面设计:
1.jpg 
实际运行效果:

Ginkgo支持并行测试,可以将测试用例分配到多个节点上同时执行,从而提高测试效率。Ginkgo的并行测试功能需要与Ginkgo的ParallelNode功能配合使用,具体步骤如下: 1. 在测试用例文件的头部,添加`--nodes=N`参数,其中N为节点数,表示要将测试用例分配到多少个节点上执行。 ``` // 运行测试用例时,添加--nodes参数 ginkgo --nodes=4 ``` 2. 在测试用例文件的头部,添加`SynchronizedBeforeSuite`和`SynchronizedAfterSuite`函数,这两个函数会在所有节点上都执行一次,用于初始化和清理测试环境。 ``` var _ = SynchronizedBeforeSuite(func() []byte { // 初始化测试环境,返回初始化结果 return []byte("init result") }, func(initResult []byte) { // 根据初始化结果,进行一些必要的设置 }) var _ = SynchronizedAfterSuite(func() { // 清理测试环境 }, func() { // 在每个节点上清理测试环境 }) ``` 3. 通过`ParallelNode`函数将测试用例分配到多个节点上执行。 ``` It("should do something", func() { // 测试用例代码 }).Parallel() ``` 在这个例子中,`It`函数用于定义一个测试用例,`Parallel`方法用于将测试用例分配到多个节点上执行。 需要注意的是,使用并行测试时,测试环境的初始化和清理需要特别注意,确保在所有节点上都能够正确执行。此外,由于测试用例是在多个节点上同时执行,可能会产生一些竞态条件和线程安全问题,需要仔细考虑和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值